From 117b55d8ad107e343fc43df3eea3a589ad33648b Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Wed, 17 Apr 2024 13:22:50 -0400 Subject: [PATCH] first commit --- .editorconfig | 15 + .env | 135 + .gitignore | 31 + .../2FD73F94064B37A1B7EAFAC744D8F2B3.txt | 1 + apache_log/error.log | 5 + apache_log/other_vhosts_access.log | 0 application/.htaccess | 6 + application/cache/index.html | 11 + application/config/autoload.php | 135 + application/config/config.php | 523 +++ application/config/constants.php | 85 + application/config/database.php | 96 + application/config/doctypes.php | 24 + application/config/foreign_chars.php | 103 + application/config/hooks.php | 13 + application/config/index.html | 11 + application/config/memcached.php | 19 + application/config/migration.php | 84 + application/config/mimes.php | 183 ++ application/config/profiler.php | 14 + application/config/routes.php | 54 + application/config/smileys.php | 64 + application/config/user_agents.php | 214 ++ application/controllers/Welcome.php | 25 + application/controllers/index.html | 11 + application/core/index.html | 11 + application/helpers/index.html | 11 + application/hooks/index.html | 11 + application/index.html | 11 + application/language/english/index.html | 11 + application/language/index.html | 11 + application/libraries/index.html | 11 + application/logs/index.html | 11 + application/models/index.html | 11 + application/third_party/index.html | 11 + application/views/errors/cli/error_404.php | 8 + application/views/errors/cli/error_db.php | 8 + .../views/errors/cli/error_exception.php | 21 + .../views/errors/cli/error_general.php | 8 + application/views/errors/cli/error_php.php | 21 + application/views/errors/cli/index.html | 11 + application/views/errors/html/error_404.php | 64 + application/views/errors/html/error_db.php | 64 + .../views/errors/html/error_exception.php | 32 + .../views/errors/html/error_general.php | 64 + application/views/errors/html/error_php.php | 33 + application/views/errors/html/index.html | 11 + application/views/errors/index.html | 11 + application/views/home/home.php | 367 +++ application/views/index.html | 11 + application/views/welcome_message.php | 89 + assets/css/animate.min.css | 6 + assets/css/bootstrap.min.css | 6 + assets/css/default.css | 259 ++ assets/css/font-awesome.min.css | 4 + assets/css/owl.carousel.min.css | 6 + assets/css/owl.theme.min.css | 5 + assets/css/responsive-blue.css | 256 ++ assets/css/responsive-dark.css | 265 ++ assets/css/responsive.css | 276 ++ assets/css/style.blue.css | 700 ++++ assets/css/style.css | 686 ++++ assets/css/style.dark.css | 736 +++++ assets/css/typography.css | 261 ++ assets/fonts/FontAwesome.otf | Bin 0 -> 106260 bytes assets/fonts/fontawesome-webfont.eot | Bin 0 -> 68875 bytes assets/fonts/fontawesome-webfont.svg | 640 ++++ assets/fonts/fontawesome-webfont.ttf | Bin 0 -> 138204 bytes assets/fonts/fontawesome-webfont.woff | Bin 0 -> 81284 bytes assets/fonts/fontawesome-webfont.woff2 | Bin 0 -> 64464 bytes assets/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes assets/fonts/glyphicons-halflings-regular.svg | 288 ++ assets/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes assets/img/amazon-store.png | Bin 0 -> 4229 bytes assets/img/app-icon.png | Bin 0 -> 1699 bytes assets/img/app-store.png | Bin 0 -> 3511 bytes assets/img/ball.png | Bin 0 -> 14589 bytes assets/img/bg.jpg | Bin 0 -> 235240 bytes assets/img/coffee.png | Bin 0 -> 143988 bytes assets/img/dark-bg.jpg | Bin 0 -> 36655 bytes assets/img/dark-hero-bg.jpg | Bin 0 -> 119464 bytes assets/img/dark-mobile-1.png | Bin 0 -> 65854 bytes assets/img/dark-slide-1.png | Bin 0 -> 213839 bytes assets/img/dark-slide-2.png | Bin 0 -> 79429 bytes assets/img/dark-slide-3.png | Bin 0 -> 158358 bytes assets/img/dark-slide-4.png | Bin 0 -> 142957 bytes assets/img/dark-slide-5.png | Bin 0 -> 8163 bytes assets/img/dark-slide-6.png | Bin 0 -> 123587 bytes assets/img/footer-bg.jpg | Bin 0 -> 91730 bytes assets/img/glass.png | Bin 0 -> 29165 bytes assets/img/google-store.png | Bin 0 -> 4195 bytes assets/img/iphone-mockup-1.png | Bin 0 -> 59641 bytes assets/img/iphone-mockup-2.png | Bin 0 -> 60167 bytes assets/img/iphone-mockup-3.png | Bin 0 -> 60078 bytes assets/img/iphone-mockup-4.png | Bin 0 -> 59874 bytes assets/img/logo-blue.png | Bin 0 -> 6185 bytes assets/img/logo-dark.png | Bin 0 -> 3212 bytes assets/img/logo-dark2.png | Bin 0 -> 6512 bytes assets/img/logo-sm.png | Bin 0 -> 4368 bytes assets/img/logo.png | Bin 0 -> 6358 bytes assets/img/mobile-mockup.png | Bin 0 -> 5673 bytes assets/img/mobile-slide-1.png | Bin 0 -> 7098 bytes assets/img/mobile-slide-2.png | Bin 0 -> 7917 bytes assets/img/mobile-slide-3.png | Bin 0 -> 8343 bytes assets/img/mobile-slide-4.png | Bin 0 -> 7430 bytes assets/img/mobile-slide-5.png | Bin 0 -> 7933 bytes assets/img/mobile-slide-6.png | Bin 0 -> 8369 bytes assets/img/paper.png | Bin 0 -> 186207 bytes assets/img/plant.png | Bin 0 -> 71806 bytes assets/img/shape.png | Bin 0 -> 21758 bytes assets/img/square.png | Bin 0 -> 1096 bytes assets/img/subscribe-bg.jpg | Bin 0 -> 128723 bytes assets/img/tab-slide-1.png | Bin 0 -> 7194 bytes assets/img/tab-slide-2.png | Bin 0 -> 8069 bytes assets/img/tab-slide-3.png | Bin 0 -> 8533 bytes assets/img/tab-slide-4.png | Bin 0 -> 7562 bytes assets/img/tic.png | Bin 0 -> 1111 bytes assets/img/windows-store.png | Bin 0 -> 3622 bytes assets/js/bootstrap.min.js | 7 + assets/js/html5shiv-printshiv.js | 524 +++ assets/js/html5shiv.js | 326 ++ assets/js/jquery-1.11.3.min.js | 5 + assets/js/jquery.flipster.min.js | 2 + assets/js/owl.carousel.min.js | 7 + assets/js/theme.js | 195 ++ assets/js/typed.min.js | 1 + assets/js/wow.min.js | 2 + composer.json | 22 + contributing.md | 95 + docker-compose.yml | 22 + docker/apache/000-default.conf | 12 + docker/apache/Dockerfile | 55 + index.php | 315 ++ license.txt | 21 + readme.rst | 70 + system/.htaccess | 6 + system/core/Benchmark.php | 133 + system/core/CodeIgniter.php | 559 ++++ system/core/Common.php | 849 +++++ system/core/Config.php | 379 +++ system/core/Controller.php | 96 + system/core/Exceptions.php | 274 ++ system/core/Hooks.php | 266 ++ system/core/Input.php | 895 ++++++ system/core/Lang.php | 203 ++ system/core/Loader.php | 1415 +++++++++ system/core/Log.php | 296 ++ system/core/Model.php | 76 + system/core/Output.php | 842 +++++ system/core/Router.php | 515 +++ system/core/Security.php | 1080 +++++++ system/core/URI.php | 643 ++++ system/core/Utf8.php | 164 + system/core/compat/hash.php | 254 ++ system/core/compat/index.html | 11 + system/core/compat/mbstring.php | 149 + system/core/compat/password.php | 251 ++ system/core/compat/standard.php | 182 ++ system/core/index.html | 11 + system/database/DB.php | 218 ++ system/database/DB_cache.php | 221 ++ system/database/DB_driver.php | 1991 ++++++++++++ system/database/DB_forge.php | 1030 ++++++ system/database/DB_query_builder.php | 2803 +++++++++++++++++ system/database/DB_result.php | 665 ++++ system/database/DB_utility.php | 424 +++ .../database/drivers/cubrid/cubrid_driver.php | 405 +++ .../database/drivers/cubrid/cubrid_forge.php | 230 ++ .../database/drivers/cubrid/cubrid_result.php | 177 ++ .../drivers/cubrid/cubrid_utility.php | 79 + system/database/drivers/cubrid/index.html | 11 + .../database/drivers/ibase/ibase_driver.php | 413 +++ system/database/drivers/ibase/ibase_forge.php | 251 ++ .../database/drivers/ibase/ibase_result.php | 161 + .../database/drivers/ibase/ibase_utility.php | 69 + system/database/drivers/ibase/index.html | 11 + system/database/drivers/index.html | 11 + system/database/drivers/mssql/index.html | 11 + .../database/drivers/mssql/mssql_driver.php | 518 +++ system/database/drivers/mssql/mssql_forge.php | 151 + .../database/drivers/mssql/mssql_result.php | 198 ++ .../database/drivers/mssql/mssql_utility.php | 77 + system/database/drivers/mysql/index.html | 11 + .../database/drivers/mysql/mysql_driver.php | 494 +++ system/database/drivers/mysql/mysql_forge.php | 243 ++ .../database/drivers/mysql/mysql_result.php | 199 ++ .../database/drivers/mysql/mysql_utility.php | 211 ++ system/database/drivers/mysqli/index.html | 11 + .../database/drivers/mysqli/mysqli_driver.php | 544 ++++ .../database/drivers/mysqli/mysqli_forge.php | 244 ++ .../database/drivers/mysqli/mysqli_result.php | 232 ++ .../drivers/mysqli/mysqli_utility.php | 211 ++ system/database/drivers/oci8/index.html | 11 + system/database/drivers/oci8/oci8_driver.php | 688 ++++ system/database/drivers/oci8/oci8_forge.php | 187 ++ system/database/drivers/oci8/oci8_result.php | 229 ++ system/database/drivers/oci8/oci8_utility.php | 68 + system/database/drivers/odbc/index.html | 11 + system/database/drivers/odbc/odbc_driver.php | 425 +++ system/database/drivers/odbc/odbc_forge.php | 86 + system/database/drivers/odbc/odbc_result.php | 268 ++ system/database/drivers/odbc/odbc_utility.php | 63 + system/database/drivers/pdo/index.html | 11 + system/database/drivers/pdo/pdo_driver.php | 329 ++ system/database/drivers/pdo/pdo_forge.php | 65 + system/database/drivers/pdo/pdo_result.php | 198 ++ system/database/drivers/pdo/pdo_utility.php | 63 + .../drivers/pdo/subdrivers/index.html | 11 + .../drivers/pdo/subdrivers/pdo_4d_driver.php | 200 ++ .../drivers/pdo/subdrivers/pdo_4d_forge.php | 217 ++ .../pdo/subdrivers/pdo_cubrid_driver.php | 209 ++ .../pdo/subdrivers/pdo_cubrid_forge.php | 230 ++ .../pdo/subdrivers/pdo_dblib_driver.php | 353 +++ .../pdo/subdrivers/pdo_dblib_forge.php | 149 + .../pdo/subdrivers/pdo_firebird_driver.php | 279 ++ .../pdo/subdrivers/pdo_firebird_forge.php | 237 ++ .../drivers/pdo/subdrivers/pdo_ibm_driver.php | 244 ++ .../drivers/pdo/subdrivers/pdo_ibm_forge.php | 154 + .../pdo/subdrivers/pdo_informix_driver.php | 309 ++ .../pdo/subdrivers/pdo_informix_forge.php | 163 + .../pdo/subdrivers/pdo_mysql_driver.php | 374 +++ .../pdo/subdrivers/pdo_mysql_forge.php | 256 ++ .../drivers/pdo/subdrivers/pdo_oci_driver.php | 326 ++ .../drivers/pdo/subdrivers/pdo_oci_forge.php | 176 ++ .../pdo/subdrivers/pdo_odbc_driver.php | 229 ++ .../drivers/pdo/subdrivers/pdo_odbc_forge.php | 70 + .../pdo/subdrivers/pdo_pgsql_driver.php | 384 +++ .../pdo/subdrivers/pdo_pgsql_forge.php | 210 ++ .../pdo/subdrivers/pdo_sqlite_driver.php | 219 ++ .../pdo/subdrivers/pdo_sqlite_forge.php | 238 ++ .../pdo/subdrivers/pdo_sqlsrv_driver.php | 369 +++ .../pdo/subdrivers/pdo_sqlsrv_forge.php | 149 + system/database/drivers/postgre/index.html | 11 + .../drivers/postgre/postgre_driver.php | 620 ++++ .../drivers/postgre/postgre_forge.php | 205 ++ .../drivers/postgre/postgre_result.php | 182 ++ .../drivers/postgre/postgre_utility.php | 78 + system/database/drivers/sqlite/index.html | 11 + .../database/drivers/sqlite/sqlite_driver.php | 330 ++ .../database/drivers/sqlite/sqlite_forge.php | 205 ++ .../database/drivers/sqlite/sqlite_result.php | 164 + .../drivers/sqlite/sqlite_utility.php | 61 + system/database/drivers/sqlite3/index.html | 11 + .../drivers/sqlite3/sqlite3_driver.php | 350 ++ .../drivers/sqlite3/sqlite3_forge.php | 225 ++ .../drivers/sqlite3/sqlite3_result.php | 194 ++ .../drivers/sqlite3/sqlite3_utility.php | 61 + system/database/drivers/sqlsrv/index.html | 11 + .../database/drivers/sqlsrv/sqlsrv_driver.php | 543 ++++ .../database/drivers/sqlsrv/sqlsrv_forge.php | 149 + .../database/drivers/sqlsrv/sqlsrv_result.php | 193 ++ .../drivers/sqlsrv/sqlsrv_utility.php | 77 + system/database/index.html | 11 + system/fonts/index.html | 11 + system/fonts/texb.ttf | Bin 0 -> 143830 bytes system/helpers/array_helper.php | 115 + system/helpers/captcha_helper.php | 341 ++ system/helpers/cookie_helper.php | 113 + system/helpers/date_helper.php | 742 +++++ system/helpers/directory_helper.php | 101 + system/helpers/download_helper.php | 158 + system/helpers/email_helper.php | 84 + system/helpers/file_helper.php | 453 +++ system/helpers/form_helper.php | 1055 +++++++ system/helpers/html_helper.php | 410 +++ system/helpers/index.html | 11 + system/helpers/inflector_helper.php | 276 ++ system/helpers/language_helper.php | 75 + system/helpers/number_helper.php | 94 + system/helpers/path_helper.php | 82 + system/helpers/security_helper.php | 137 + system/helpers/smiley_helper.php | 255 ++ system/helpers/string_helper.php | 304 ++ system/helpers/text_helper.php | 567 ++++ system/helpers/typography_helper.php | 104 + system/helpers/url_helper.php | 569 ++++ system/helpers/xml_helper.php | 90 + system/index.html | 11 + system/language/english/calendar_lang.php | 84 + system/language/english/date_lang.php | 94 + system/language/english/db_lang.php | 63 + system/language/english/email_lang.php | 58 + .../language/english/form_validation_lang.php | 68 + system/language/english/ftp_lang.php | 51 + system/language/english/imglib_lang.php | 57 + system/language/english/index.html | 11 + system/language/english/migration_lang.php | 47 + system/language/english/number_lang.php | 44 + system/language/english/pagination_lang.php | 43 + system/language/english/profiler_lang.php | 60 + system/language/english/unit_test_lang.php | 58 + system/language/english/upload_lang.php | 55 + system/language/index.html | 11 + system/libraries/Cache/Cache.php | 255 ++ system/libraries/Cache/drivers/Cache_apc.php | 217 ++ .../libraries/Cache/drivers/Cache_dummy.php | 172 + system/libraries/Cache/drivers/Cache_file.php | 286 ++ .../Cache/drivers/Cache_memcached.php | 313 ++ .../libraries/Cache/drivers/Cache_redis.php | 328 ++ .../Cache/drivers/Cache_wincache.php | 217 ++ system/libraries/Cache/drivers/index.html | 11 + system/libraries/Cache/index.html | 11 + system/libraries/Calendar.php | 546 ++++ system/libraries/Cart.php | 567 ++++ system/libraries/Driver.php | 342 ++ system/libraries/Email.php | 2470 +++++++++++++++ system/libraries/Encrypt.php | 521 +++ system/libraries/Encryption.php | 941 ++++++ system/libraries/Form_validation.php | 1587 ++++++++++ system/libraries/Ftp.php | 667 ++++ system/libraries/Image_lib.php | 1839 +++++++++++ system/libraries/Javascript.php | 856 +++++ system/libraries/Javascript/Jquery.php | 1076 +++++++ system/libraries/Javascript/index.html | 11 + system/libraries/Migration.php | 477 +++ system/libraries/Pagination.php | 704 +++++ system/libraries/Parser.php | 248 ++ system/libraries/Profiler.php | 574 ++++ system/libraries/Session/Session.php | 983 ++++++ .../Session/SessionHandlerInterface.php | 59 + system/libraries/Session/Session_driver.php | 191 ++ .../drivers/Session_database_driver.php | 420 +++ .../Session/drivers/Session_files_driver.php | 406 +++ .../drivers/Session_memcached_driver.php | 378 +++ .../Session/drivers/Session_redis_driver.php | 399 +++ system/libraries/Session/drivers/index.html | 11 + system/libraries/Session/index.html | 11 + system/libraries/Table.php | 538 ++++ system/libraries/Trackback.php | 556 ++++ system/libraries/Typography.php | 424 +++ system/libraries/Unit_test.php | 406 +++ system/libraries/Upload.php | 1326 ++++++++ system/libraries/User_agent.php | 681 ++++ system/libraries/Xmlrpc.php | 1920 +++++++++++ system/libraries/Xmlrpcs.php | 619 ++++ system/libraries/Zip.php | 532 ++++ system/libraries/index.html | 11 + 339 files changed, 75162 insertions(+) create mode 100644 .editorconfig create mode 100644 .env create mode 100644 .gitignore create mode 100644 .well-known/pki-validation/2FD73F94064B37A1B7EAFAC744D8F2B3.txt create mode 100644 apache_log/error.log create mode 100644 apache_log/other_vhosts_access.log create mode 100644 application/.htaccess create mode 100644 application/cache/index.html create mode 100644 application/config/autoload.php create mode 100644 application/config/config.php create mode 100644 application/config/constants.php create mode 100644 application/config/database.php create mode 100644 application/config/doctypes.php create mode 100644 application/config/foreign_chars.php create mode 100644 application/config/hooks.php create mode 100644 application/config/index.html create mode 100644 application/config/memcached.php create mode 100644 application/config/migration.php create mode 100644 application/config/mimes.php create mode 100644 application/config/profiler.php create mode 100644 application/config/routes.php create mode 100644 application/config/smileys.php create mode 100644 application/config/user_agents.php create mode 100644 application/controllers/Welcome.php create mode 100644 application/controllers/index.html create mode 100644 application/core/index.html create mode 100644 application/helpers/index.html create mode 100644 application/hooks/index.html create mode 100644 application/index.html create mode 100644 application/language/english/index.html create mode 100644 application/language/index.html create mode 100644 application/libraries/index.html create mode 100644 application/logs/index.html create mode 100644 application/models/index.html create mode 100644 application/third_party/index.html create mode 100644 application/views/errors/cli/error_404.php create mode 100644 application/views/errors/cli/error_db.php create mode 100644 application/views/errors/cli/error_exception.php create mode 100644 application/views/errors/cli/error_general.php create mode 100644 application/views/errors/cli/error_php.php create mode 100644 application/views/errors/cli/index.html create mode 100644 application/views/errors/html/error_404.php create mode 100644 application/views/errors/html/error_db.php create mode 100644 application/views/errors/html/error_exception.php create mode 100644 application/views/errors/html/error_general.php create mode 100644 application/views/errors/html/error_php.php create mode 100644 application/views/errors/html/index.html create mode 100644 application/views/errors/index.html create mode 100644 application/views/home/home.php create mode 100644 application/views/index.html create mode 100644 application/views/welcome_message.php create mode 100644 assets/css/animate.min.css create mode 100644 assets/css/bootstrap.min.css create mode 100644 assets/css/default.css create mode 100644 assets/css/font-awesome.min.css create mode 100644 assets/css/owl.carousel.min.css create mode 100644 assets/css/owl.theme.min.css create mode 100644 assets/css/responsive-blue.css create mode 100644 assets/css/responsive-dark.css create mode 100644 assets/css/responsive.css create mode 100644 assets/css/style.blue.css create mode 100644 assets/css/style.css create mode 100644 assets/css/style.dark.css create mode 100644 assets/css/typography.css create mode 100644 assets/fonts/FontAwesome.otf create mode 100644 assets/fonts/fontawesome-webfont.eot create mode 100644 assets/fonts/fontawesome-webfont.svg create mode 100644 assets/fonts/fontawesome-webfont.ttf create mode 100644 assets/fonts/fontawesome-webfont.woff create mode 100644 assets/fonts/fontawesome-webfont.woff2 create mode 100644 assets/fonts/glyphicons-halflings-regular.eot create mode 100644 assets/fonts/glyphicons-halflings-regular.svg create mode 100644 assets/fonts/glyphicons-halflings-regular.ttf create mode 100644 assets/fonts/glyphicons-halflings-regular.woff create mode 100644 assets/fonts/glyphicons-halflings-regular.woff2 create mode 100644 assets/img/amazon-store.png create mode 100644 assets/img/app-icon.png create mode 100644 assets/img/app-store.png create mode 100644 assets/img/ball.png create mode 100644 assets/img/bg.jpg create mode 100644 assets/img/coffee.png create mode 100644 assets/img/dark-bg.jpg create mode 100644 assets/img/dark-hero-bg.jpg create mode 100644 assets/img/dark-mobile-1.png create mode 100644 assets/img/dark-slide-1.png create mode 100644 assets/img/dark-slide-2.png create mode 100644 assets/img/dark-slide-3.png create mode 100644 assets/img/dark-slide-4.png create mode 100644 assets/img/dark-slide-5.png create mode 100644 assets/img/dark-slide-6.png create mode 100644 assets/img/footer-bg.jpg create mode 100644 assets/img/glass.png create mode 100644 assets/img/google-store.png create mode 100644 assets/img/iphone-mockup-1.png create mode 100644 assets/img/iphone-mockup-2.png create mode 100644 assets/img/iphone-mockup-3.png create mode 100644 assets/img/iphone-mockup-4.png create mode 100644 assets/img/logo-blue.png create mode 100644 assets/img/logo-dark.png create mode 100644 assets/img/logo-dark2.png create mode 100644 assets/img/logo-sm.png create mode 100644 assets/img/logo.png create mode 100644 assets/img/mobile-mockup.png create mode 100644 assets/img/mobile-slide-1.png create mode 100644 assets/img/mobile-slide-2.png create mode 100644 assets/img/mobile-slide-3.png create mode 100644 assets/img/mobile-slide-4.png create mode 100644 assets/img/mobile-slide-5.png create mode 100644 assets/img/mobile-slide-6.png create mode 100644 assets/img/paper.png create mode 100644 assets/img/plant.png create mode 100644 assets/img/shape.png create mode 100644 assets/img/square.png create mode 100644 assets/img/subscribe-bg.jpg create mode 100644 assets/img/tab-slide-1.png create mode 100644 assets/img/tab-slide-2.png create mode 100644 assets/img/tab-slide-3.png create mode 100644 assets/img/tab-slide-4.png create mode 100644 assets/img/tic.png create mode 100644 assets/img/windows-store.png create mode 100644 assets/js/bootstrap.min.js create mode 100644 assets/js/html5shiv-printshiv.js create mode 100644 assets/js/html5shiv.js create mode 100644 assets/js/jquery-1.11.3.min.js create mode 100644 assets/js/jquery.flipster.min.js create mode 100644 assets/js/owl.carousel.min.js create mode 100644 assets/js/theme.js create mode 100644 assets/js/typed.min.js create mode 100644 assets/js/wow.min.js create mode 100644 composer.json create mode 100644 contributing.md create mode 100644 docker-compose.yml create mode 100644 docker/apache/000-default.conf create mode 100644 docker/apache/Dockerfile create mode 100644 index.php create mode 100644 license.txt create mode 100644 readme.rst create mode 100644 system/.htaccess create mode 100644 system/core/Benchmark.php create mode 100644 system/core/CodeIgniter.php create mode 100644 system/core/Common.php create mode 100644 system/core/Config.php create mode 100644 system/core/Controller.php create mode 100644 system/core/Exceptions.php create mode 100644 system/core/Hooks.php create mode 100644 system/core/Input.php create mode 100644 system/core/Lang.php create mode 100644 system/core/Loader.php create mode 100644 system/core/Log.php create mode 100644 system/core/Model.php create mode 100644 system/core/Output.php create mode 100644 system/core/Router.php create mode 100644 system/core/Security.php create mode 100644 system/core/URI.php create mode 100644 system/core/Utf8.php create mode 100644 system/core/compat/hash.php create mode 100644 system/core/compat/index.html create mode 100644 system/core/compat/mbstring.php create mode 100644 system/core/compat/password.php create mode 100644 system/core/compat/standard.php create mode 100644 system/core/index.html create mode 100644 system/database/DB.php create mode 100644 system/database/DB_cache.php create mode 100644 system/database/DB_driver.php create mode 100644 system/database/DB_forge.php create mode 100644 system/database/DB_query_builder.php create mode 100644 system/database/DB_result.php create mode 100644 system/database/DB_utility.php create mode 100644 system/database/drivers/cubrid/cubrid_driver.php create mode 100644 system/database/drivers/cubrid/cubrid_forge.php create mode 100644 system/database/drivers/cubrid/cubrid_result.php create mode 100644 system/database/drivers/cubrid/cubrid_utility.php create mode 100644 system/database/drivers/cubrid/index.html create mode 100644 system/database/drivers/ibase/ibase_driver.php create mode 100644 system/database/drivers/ibase/ibase_forge.php create mode 100644 system/database/drivers/ibase/ibase_result.php create mode 100644 system/database/drivers/ibase/ibase_utility.php create mode 100644 system/database/drivers/ibase/index.html create mode 100644 system/database/drivers/index.html create mode 100644 system/database/drivers/mssql/index.html create mode 100644 system/database/drivers/mssql/mssql_driver.php create mode 100644 system/database/drivers/mssql/mssql_forge.php create mode 100644 system/database/drivers/mssql/mssql_result.php create mode 100644 system/database/drivers/mssql/mssql_utility.php create mode 100644 system/database/drivers/mysql/index.html create mode 100644 system/database/drivers/mysql/mysql_driver.php create mode 100644 system/database/drivers/mysql/mysql_forge.php create mode 100644 system/database/drivers/mysql/mysql_result.php create mode 100644 system/database/drivers/mysql/mysql_utility.php create mode 100644 system/database/drivers/mysqli/index.html create mode 100644 system/database/drivers/mysqli/mysqli_driver.php create mode 100644 system/database/drivers/mysqli/mysqli_forge.php create mode 100644 system/database/drivers/mysqli/mysqli_result.php create mode 100644 system/database/drivers/mysqli/mysqli_utility.php create mode 100644 system/database/drivers/oci8/index.html create mode 100644 system/database/drivers/oci8/oci8_driver.php create mode 100644 system/database/drivers/oci8/oci8_forge.php create mode 100644 system/database/drivers/oci8/oci8_result.php create mode 100644 system/database/drivers/oci8/oci8_utility.php create mode 100644 system/database/drivers/odbc/index.html create mode 100644 system/database/drivers/odbc/odbc_driver.php create mode 100644 system/database/drivers/odbc/odbc_forge.php create mode 100644 system/database/drivers/odbc/odbc_result.php create mode 100644 system/database/drivers/odbc/odbc_utility.php create mode 100644 system/database/drivers/pdo/index.html create mode 100644 system/database/drivers/pdo/pdo_driver.php create mode 100644 system/database/drivers/pdo/pdo_forge.php create mode 100644 system/database/drivers/pdo/pdo_result.php create mode 100644 system/database/drivers/pdo/pdo_utility.php create mode 100644 system/database/drivers/pdo/subdrivers/index.html create mode 100644 system/database/drivers/pdo/subdrivers/pdo_4d_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_4d_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_cubrid_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_dblib_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_dblib_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_firebird_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_ibm_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_ibm_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_informix_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_informix_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_oci_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_oci_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_odbc_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlite_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlsrv_driver.php create mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlsrv_forge.php create mode 100644 system/database/drivers/postgre/index.html create mode 100644 system/database/drivers/postgre/postgre_driver.php create mode 100644 system/database/drivers/postgre/postgre_forge.php create mode 100644 system/database/drivers/postgre/postgre_result.php create mode 100644 system/database/drivers/postgre/postgre_utility.php create mode 100644 system/database/drivers/sqlite/index.html create mode 100644 system/database/drivers/sqlite/sqlite_driver.php create mode 100644 system/database/drivers/sqlite/sqlite_forge.php create mode 100644 system/database/drivers/sqlite/sqlite_result.php create mode 100644 system/database/drivers/sqlite/sqlite_utility.php create mode 100644 system/database/drivers/sqlite3/index.html create mode 100644 system/database/drivers/sqlite3/sqlite3_driver.php create mode 100644 system/database/drivers/sqlite3/sqlite3_forge.php create mode 100644 system/database/drivers/sqlite3/sqlite3_result.php create mode 100644 system/database/drivers/sqlite3/sqlite3_utility.php create mode 100644 system/database/drivers/sqlsrv/index.html create mode 100644 system/database/drivers/sqlsrv/sqlsrv_driver.php create mode 100644 system/database/drivers/sqlsrv/sqlsrv_forge.php create mode 100644 system/database/drivers/sqlsrv/sqlsrv_result.php create mode 100644 system/database/drivers/sqlsrv/sqlsrv_utility.php create mode 100644 system/database/index.html create mode 100644 system/fonts/index.html create mode 100644 system/fonts/texb.ttf create mode 100644 system/helpers/array_helper.php create mode 100644 system/helpers/captcha_helper.php create mode 100644 system/helpers/cookie_helper.php create mode 100644 system/helpers/date_helper.php create mode 100644 system/helpers/directory_helper.php create mode 100644 system/helpers/download_helper.php create mode 100644 system/helpers/email_helper.php create mode 100644 system/helpers/file_helper.php create mode 100644 system/helpers/form_helper.php create mode 100644 system/helpers/html_helper.php create mode 100644 system/helpers/index.html create mode 100644 system/helpers/inflector_helper.php create mode 100644 system/helpers/language_helper.php create mode 100644 system/helpers/number_helper.php create mode 100644 system/helpers/path_helper.php create mode 100644 system/helpers/security_helper.php create mode 100644 system/helpers/smiley_helper.php create mode 100644 system/helpers/string_helper.php create mode 100644 system/helpers/text_helper.php create mode 100644 system/helpers/typography_helper.php create mode 100644 system/helpers/url_helper.php create mode 100644 system/helpers/xml_helper.php create mode 100644 system/index.html create mode 100644 system/language/english/calendar_lang.php create mode 100644 system/language/english/date_lang.php create mode 100644 system/language/english/db_lang.php create mode 100644 system/language/english/email_lang.php create mode 100644 system/language/english/form_validation_lang.php create mode 100644 system/language/english/ftp_lang.php create mode 100644 system/language/english/imglib_lang.php create mode 100644 system/language/english/index.html create mode 100644 system/language/english/migration_lang.php create mode 100644 system/language/english/number_lang.php create mode 100644 system/language/english/pagination_lang.php create mode 100644 system/language/english/profiler_lang.php create mode 100644 system/language/english/unit_test_lang.php create mode 100644 system/language/english/upload_lang.php create mode 100644 system/language/index.html create mode 100644 system/libraries/Cache/Cache.php create mode 100644 system/libraries/Cache/drivers/Cache_apc.php create mode 100644 system/libraries/Cache/drivers/Cache_dummy.php create mode 100644 system/libraries/Cache/drivers/Cache_file.php create mode 100644 system/libraries/Cache/drivers/Cache_memcached.php create mode 100644 system/libraries/Cache/drivers/Cache_redis.php create mode 100644 system/libraries/Cache/drivers/Cache_wincache.php create mode 100644 system/libraries/Cache/drivers/index.html create mode 100644 system/libraries/Cache/index.html create mode 100644 system/libraries/Calendar.php create mode 100644 system/libraries/Cart.php create mode 100644 system/libraries/Driver.php create mode 100644 system/libraries/Email.php create mode 100644 system/libraries/Encrypt.php create mode 100644 system/libraries/Encryption.php create mode 100644 system/libraries/Form_validation.php create mode 100644 system/libraries/Ftp.php create mode 100644 system/libraries/Image_lib.php create mode 100644 system/libraries/Javascript.php create mode 100644 system/libraries/Javascript/Jquery.php create mode 100644 system/libraries/Javascript/index.html create mode 100644 system/libraries/Migration.php create mode 100644 system/libraries/Pagination.php create mode 100644 system/libraries/Parser.php create mode 100644 system/libraries/Profiler.php create mode 100644 system/libraries/Session/Session.php create mode 100644 system/libraries/Session/SessionHandlerInterface.php create mode 100644 system/libraries/Session/Session_driver.php create mode 100644 system/libraries/Session/drivers/Session_database_driver.php create mode 100644 system/libraries/Session/drivers/Session_files_driver.php create mode 100644 system/libraries/Session/drivers/Session_memcached_driver.php create mode 100644 system/libraries/Session/drivers/Session_redis_driver.php create mode 100644 system/libraries/Session/drivers/index.html create mode 100644 system/libraries/Session/index.html create mode 100644 system/libraries/Table.php create mode 100644 system/libraries/Trackback.php create mode 100644 system/libraries/Typography.php create mode 100644 system/libraries/Unit_test.php create mode 100644 system/libraries/Upload.php create mode 100644 system/libraries/User_agent.php create mode 100644 system/libraries/Xmlrpc.php create mode 100644 system/libraries/Xmlrpcs.php create mode 100644 system/libraries/Zip.php create mode 100644 system/libraries/index.html diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..39f48d9 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true + +# Matches multiple files with brace expansion notation +# Set default charset +[*] +charset = utf-8 + +# Tab indentation (no size specified) +indent_style = tab diff --git a/.env b/.env new file mode 100644 index 0000000..3529028 --- /dev/null +++ b/.env @@ -0,0 +1,135 @@ + +UID=1000 +#-------------------------------------------------------------------- +# Example Environment Configuration file +# +# This file can be used as a starting point for your own +# custom .env files, and contains most of the possible settings +# available in a default install. +# +# By default, all of the settings are commented out. If you want +# to override the setting, you must un-comment it by removing the '#' +# at the beginning of the line. +#-------------------------------------------------------------------- + +#-------------------------------------------------------------------- +# ENVIRONMENT +#-------------------------------------------------------------------- + +# CI_ENVIRONMENT = production + +#-------------------------------------------------------------------- +# APP +#-------------------------------------------------------------------- + +# app.baseURL = '' +# app.forceGlobalSecureRequests = false + +# app.sessionDriver = 'CodeIgniter\Session\Handlers\FileHandler' +# app.sessionCookieName = 'ci_session' +# app.sessionExpiration = 7200 +# app.sessionSavePath = null +# app.sessionMatchIP = false +# app.sessionTimeToUpdate = 300 +# app.sessionRegenerateDestroy = false + +# app.CSPEnabled = false + +#-------------------------------------------------------------------- +# DATABASE +#-------------------------------------------------------------------- + +# database.default.hostname = localhost +# database.default.database = ci4 +# database.default.username = root +# database.default.password = root +# database.default.DBDriver = MySQLi +# database.default.DBPrefix = + +# database.tests.hostname = localhost +# database.tests.database = ci4 +# database.tests.username = root +# database.tests.password = root +# database.tests.DBDriver = MySQLi +# database.tests.DBPrefix = + +#-------------------------------------------------------------------- +# CONTENT SECURITY POLICY +#-------------------------------------------------------------------- + +# contentsecuritypolicy.reportOnly = false +# contentsecuritypolicy.defaultSrc = 'none' +# contentsecuritypolicy.scriptSrc = 'self' +# contentsecuritypolicy.styleSrc = 'self' +# contentsecuritypolicy.imageSrc = 'self' +# contentsecuritypolicy.base_uri = null +# contentsecuritypolicy.childSrc = null +# contentsecuritypolicy.connectSrc = 'self' +# contentsecuritypolicy.fontSrc = null +# contentsecuritypolicy.formAction = null +# contentsecuritypolicy.frameAncestors = null +# contentsecuritypolicy.frameSrc = null +# contentsecuritypolicy.mediaSrc = null +# contentsecuritypolicy.objectSrc = null +# contentsecuritypolicy.pluginTypes = null +# contentsecuritypolicy.reportURI = null +# contentsecuritypolicy.sandbox = false +# contentsecuritypolicy.upgradeInsecureRequests = false + +#-------------------------------------------------------------------- +# COOKIE +#-------------------------------------------------------------------- + +# cookie.prefix = '' +# cookie.expires = 0 +# cookie.path = '/' +# cookie.domain = '' +# cookie.secure = false +# cookie.httponly = false +# cookie.samesite = 'Lax' +# cookie.raw = false + +#-------------------------------------------------------------------- +# ENCRYPTION +#-------------------------------------------------------------------- + +# encryption.key = +# encryption.driver = OpenSSL +# encryption.blockSize = 16 +# encryption.digest = SHA512 + +#-------------------------------------------------------------------- +# HONEYPOT +#-------------------------------------------------------------------- + +# honeypot.hidden = 'true' +# honeypot.label = 'Fill This Field' +# honeypot.name = 'honeypot' +# honeypot.template = '' +# honeypot.container = '
{template}
' + +#-------------------------------------------------------------------- +# SECURITY +#-------------------------------------------------------------------- + +# security.csrfProtection = 'cookie' +# security.tokenRandomize = false +# security.tokenName = 'csrf_token_name' +# security.headerName = 'X-CSRF-TOKEN' +# security.cookieName = 'csrf_cookie_name' +# security.expires = 7200 +# security.regenerate = true +# security.redirect = true +# security.samesite = 'Lax' + +#-------------------------------------------------------------------- +# LOGGER +#-------------------------------------------------------------------- + +# logger.threshold = 4 + +#-------------------------------------------------------------------- +# CURLRequest +#-------------------------------------------------------------------- + +# curlrequest.shareOptions = true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..269044e --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +.DS_Store + +application/cache/* +!application/cache/index.html + +application/logs/* +!application/logs/index.html + +!application/*/.htaccess + +composer.lock + +user_guide_src/build/* +user_guide_src/cilexer/build/* +user_guide_src/cilexer/dist/* +user_guide_src/cilexer/pycilexer.egg-info/* +/vendor/ + +# IDE Files +#------------------------- +/nbproject/ +.idea/* + +## Sublime Text cache files +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache +*.sublime-workspace +*.sublime-project +/tests/tests/ +/tests/results/ diff --git a/.well-known/pki-validation/2FD73F94064B37A1B7EAFAC744D8F2B3.txt b/.well-known/pki-validation/2FD73F94064B37A1B7EAFAC744D8F2B3.txt new file mode 100644 index 0000000..e1bca22 --- /dev/null +++ b/.well-known/pki-validation/2FD73F94064B37A1B7EAFAC744D8F2B3.txt @@ -0,0 +1 @@ +F53346E479DF34064744202D88DCC98BC04BB62F5AD5F0923481FD051AB5F4E0 comodoca.com 5c00387778f06 \ No newline at end of file diff --git a/apache_log/error.log b/apache_log/error.log new file mode 100644 index 0000000..f72c4da --- /dev/null +++ b/apache_log/error.log @@ -0,0 +1,5 @@ +[Wed Apr 17 13:31:43.694665 2024] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.54 (Debian) PHP/7.4.33 configured -- resuming normal operations +[Wed Apr 17 13:31:43.695336 2024] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND' +[Wed Apr 17 13:31:57.498105 2024] [mpm_prefork:notice] [pid 1] AH00170: caught SIGWINCH, shutting down gracefully +[Wed Apr 17 13:32:01.218294 2024] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.54 (Debian) PHP/7.4.33 configured -- resuming normal operations +[Wed Apr 17 13:32:01.219137 2024] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND' diff --git a/apache_log/other_vhosts_access.log b/apache_log/other_vhosts_access.log new file mode 100644 index 0000000..e69de29 diff --git a/application/.htaccess b/application/.htaccess new file mode 100644 index 0000000..6c63ed4 --- /dev/null +++ b/application/.htaccess @@ -0,0 +1,6 @@ + + Require all denied + + + Deny from all + \ No newline at end of file diff --git a/application/cache/index.html b/application/cache/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/cache/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/config/autoload.php b/application/config/autoload.php new file mode 100644 index 0000000..7cdc901 --- /dev/null +++ b/application/config/autoload.php @@ -0,0 +1,135 @@ + 'ua'); +*/ +$autoload['libraries'] = array(); + +/* +| ------------------------------------------------------------------- +| Auto-load Drivers +| ------------------------------------------------------------------- +| These classes are located in system/libraries/ or in your +| application/libraries/ directory, but are also placed inside their +| own subdirectory and they extend the CI_Driver_Library class. They +| offer multiple interchangeable driver options. +| +| Prototype: +| +| $autoload['drivers'] = array('cache'); +| +| You can also supply an alternative property name to be assigned in +| the controller: +| +| $autoload['drivers'] = array('cache' => 'cch'); +| +*/ +$autoload['drivers'] = array(); + +/* +| ------------------------------------------------------------------- +| Auto-load Helper Files +| ------------------------------------------------------------------- +| Prototype: +| +| $autoload['helper'] = array('url', 'file'); +*/ +$autoload['helper'] = array(); + +/* +| ------------------------------------------------------------------- +| Auto-load Config files +| ------------------------------------------------------------------- +| Prototype: +| +| $autoload['config'] = array('config1', 'config2'); +| +| NOTE: This item is intended for use ONLY if you have created custom +| config files. Otherwise, leave it blank. +| +*/ +$autoload['config'] = array(); + +/* +| ------------------------------------------------------------------- +| Auto-load Language files +| ------------------------------------------------------------------- +| Prototype: +| +| $autoload['language'] = array('lang1', 'lang2'); +| +| NOTE: Do not include the "_lang" part of your file. For example +| "codeigniter_lang.php" would be referenced as array('codeigniter'); +| +*/ +$autoload['language'] = array(); + +/* +| ------------------------------------------------------------------- +| Auto-load Models +| ------------------------------------------------------------------- +| Prototype: +| +| $autoload['model'] = array('first_model', 'second_model'); +| +| You can also supply an alternative model name to be assigned +| in the controller: +| +| $autoload['model'] = array('first_model' => 'first'); +*/ +$autoload['model'] = array(); diff --git a/application/config/config.php b/application/config/config.php new file mode 100644 index 0000000..1031522 --- /dev/null +++ b/application/config/config.php @@ -0,0 +1,523 @@ +]+$/i +| +| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! +| +*/ +$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'; + +/* +|-------------------------------------------------------------------------- +| Enable Query Strings +|-------------------------------------------------------------------------- +| +| By default CodeIgniter uses search-engine friendly segment based URLs: +| example.com/who/what/where/ +| +| You can optionally enable standard query string based URLs: +| example.com?who=me&what=something&where=here +| +| Options are: TRUE or FALSE (boolean) +| +| The other items let you set the query string 'words' that will +| invoke your controllers and its functions: +| example.com/index.php?c=controller&m=function +| +| Please note that some of the helpers won't work as expected when +| this feature is enabled, since CodeIgniter is designed primarily to +| use segment based URLs. +| +*/ +$config['enable_query_strings'] = FALSE; +$config['controller_trigger'] = 'c'; +$config['function_trigger'] = 'm'; +$config['directory_trigger'] = 'd'; + +/* +|-------------------------------------------------------------------------- +| Allow $_GET array +|-------------------------------------------------------------------------- +| +| By default CodeIgniter enables access to the $_GET array. If for some +| reason you would like to disable it, set 'allow_get_array' to FALSE. +| +| WARNING: This feature is DEPRECATED and currently available only +| for backwards compatibility purposes! +| +*/ +$config['allow_get_array'] = TRUE; + +/* +|-------------------------------------------------------------------------- +| Error Logging Threshold +|-------------------------------------------------------------------------- +| +| You can enable error logging by setting a threshold over zero. The +| threshold determines what gets logged. Threshold options are: +| +| 0 = Disables logging, Error logging TURNED OFF +| 1 = Error Messages (including PHP errors) +| 2 = Debug Messages +| 3 = Informational Messages +| 4 = All Messages +| +| You can also pass an array with threshold levels to show individual error types +| +| array(2) = Debug Messages, without Error Messages +| +| For a live site you'll usually only enable Errors (1) to be logged otherwise +| your log files will fill up very fast. +| +*/ +$config['log_threshold'] = 0; + +/* +|-------------------------------------------------------------------------- +| Error Logging Directory Path +|-------------------------------------------------------------------------- +| +| Leave this BLANK unless you would like to set something other than the default +| application/logs/ directory. Use a full server path with trailing slash. +| +*/ +$config['log_path'] = ''; + +/* +|-------------------------------------------------------------------------- +| Log File Extension +|-------------------------------------------------------------------------- +| +| The default filename extension for log files. The default 'php' allows for +| protecting the log files via basic scripting, when they are to be stored +| under a publicly accessible directory. +| +| Note: Leaving it blank will default to 'php'. +| +*/ +$config['log_file_extension'] = ''; + +/* +|-------------------------------------------------------------------------- +| Log File Permissions +|-------------------------------------------------------------------------- +| +| The file system permissions to be applied on newly created log files. +| +| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal +| integer notation (i.e. 0700, 0644, etc.) +*/ +$config['log_file_permissions'] = 0644; + +/* +|-------------------------------------------------------------------------- +| Date Format for Logs +|-------------------------------------------------------------------------- +| +| Each item that is logged has an associated date. You can use PHP date +| codes to set your own date formatting +| +*/ +$config['log_date_format'] = 'Y-m-d H:i:s'; + +/* +|-------------------------------------------------------------------------- +| Error Views Directory Path +|-------------------------------------------------------------------------- +| +| Leave this BLANK unless you would like to set something other than the default +| application/views/errors/ directory. Use a full server path with trailing slash. +| +*/ +$config['error_views_path'] = ''; + +/* +|-------------------------------------------------------------------------- +| Cache Directory Path +|-------------------------------------------------------------------------- +| +| Leave this BLANK unless you would like to set something other than the default +| application/cache/ directory. Use a full server path with trailing slash. +| +*/ +$config['cache_path'] = ''; + +/* +|-------------------------------------------------------------------------- +| Cache Include Query String +|-------------------------------------------------------------------------- +| +| Whether to take the URL query string into consideration when generating +| output cache files. Valid options are: +| +| FALSE = Disabled +| TRUE = Enabled, take all query parameters into account. +| Please be aware that this may result in numerous cache +| files generated for the same page over and over again. +| array('q') = Enabled, but only take into account the specified list +| of query parameters. +| +*/ +$config['cache_query_string'] = FALSE; + +/* +|-------------------------------------------------------------------------- +| Encryption Key +|-------------------------------------------------------------------------- +| +| If you use the Encryption class, you must set an encryption key. +| See the user guide for more info. +| +| https://codeigniter.com/user_guide/libraries/encryption.html +| +*/ +$config['encryption_key'] = ''; + +/* +|-------------------------------------------------------------------------- +| Session Variables +|-------------------------------------------------------------------------- +| +| 'sess_driver' +| +| The storage driver to use: files, database, redis, memcached +| +| 'sess_cookie_name' +| +| The session cookie name, must contain only [0-9a-z_-] characters +| +| 'sess_expiration' +| +| The number of SECONDS you want the session to last. +| Setting to 0 (zero) means expire when the browser is closed. +| +| 'sess_save_path' +| +| The location to save sessions to, driver dependent. +| +| For the 'files' driver, it's a path to a writable directory. +| WARNING: Only absolute paths are supported! +| +| For the 'database' driver, it's a table name. +| Please read up the manual for the format with other session drivers. +| +| IMPORTANT: You are REQUIRED to set a valid save path! +| +| 'sess_match_ip' +| +| Whether to match the user's IP address when reading the session data. +| +| WARNING: If you're using the database driver, don't forget to update +| your session table's PRIMARY KEY when changing this setting. +| +| 'sess_time_to_update' +| +| How many seconds between CI regenerating the session ID. +| +| 'sess_regenerate_destroy' +| +| Whether to destroy session data associated with the old session ID +| when auto-regenerating the session ID. When set to FALSE, the data +| will be later deleted by the garbage collector. +| +| Other session cookie settings are shared with the rest of the application, +| except for 'cookie_prefix' and 'cookie_httponly', which are ignored here. +| +*/ +$config['sess_driver'] = 'files'; +$config['sess_cookie_name'] = 'ci_session'; +$config['sess_expiration'] = 7200; +$config['sess_save_path'] = NULL; +$config['sess_match_ip'] = FALSE; +$config['sess_time_to_update'] = 300; +$config['sess_regenerate_destroy'] = FALSE; + +/* +|-------------------------------------------------------------------------- +| Cookie Related Variables +|-------------------------------------------------------------------------- +| +| 'cookie_prefix' = Set a cookie name prefix if you need to avoid collisions +| 'cookie_domain' = Set to .your-domain.com for site-wide cookies +| 'cookie_path' = Typically will be a forward slash +| 'cookie_secure' = Cookie will only be set if a secure HTTPS connection exists. +| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript) +| +| Note: These settings (with the exception of 'cookie_prefix' and +| 'cookie_httponly') will also affect sessions. +| +*/ +$config['cookie_prefix'] = ''; +$config['cookie_domain'] = ''; +$config['cookie_path'] = '/'; +$config['cookie_secure'] = FALSE; +$config['cookie_httponly'] = FALSE; + +/* +|-------------------------------------------------------------------------- +| Standardize newlines +|-------------------------------------------------------------------------- +| +| Determines whether to standardize newline characters in input data, +| meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value. +| +| WARNING: This feature is DEPRECATED and currently available only +| for backwards compatibility purposes! +| +*/ +$config['standardize_newlines'] = FALSE; + +/* +|-------------------------------------------------------------------------- +| Global XSS Filtering +|-------------------------------------------------------------------------- +| +| Determines whether the XSS filter is always active when GET, POST or +| COOKIE data is encountered +| +| WARNING: This feature is DEPRECATED and currently available only +| for backwards compatibility purposes! +| +*/ +$config['global_xss_filtering'] = FALSE; + +/* +|-------------------------------------------------------------------------- +| Cross Site Request Forgery +|-------------------------------------------------------------------------- +| Enables a CSRF cookie token to be set. When set to TRUE, token will be +| checked on a submitted form. If you are accepting user data, it is strongly +| recommended CSRF protection be enabled. +| +| 'csrf_token_name' = The token name +| 'csrf_cookie_name' = The cookie name +| 'csrf_expire' = The number in seconds the token should expire. +| 'csrf_regenerate' = Regenerate token on every submission +| 'csrf_exclude_uris' = Array of URIs which ignore CSRF checks +*/ +$config['csrf_protection'] = FALSE; +$config['csrf_token_name'] = 'csrf_test_name'; +$config['csrf_cookie_name'] = 'csrf_cookie_name'; +$config['csrf_expire'] = 7200; +$config['csrf_regenerate'] = TRUE; +$config['csrf_exclude_uris'] = array(); + +/* +|-------------------------------------------------------------------------- +| Output Compression +|-------------------------------------------------------------------------- +| +| Enables Gzip output compression for faster page loads. When enabled, +| the output class will test whether your server supports Gzip. +| Even if it does, however, not all browsers support compression +| so enable only if you are reasonably sure your visitors can handle it. +| +| Only used if zlib.output_compression is turned off in your php.ini. +| Please do not use it together with httpd-level output compression. +| +| VERY IMPORTANT: If you are getting a blank page when compression is enabled it +| means you are prematurely outputting something to your browser. It could +| even be a line of whitespace at the end of one of your scripts. For +| compression to work, nothing can be sent before the output buffer is called +| by the output class. Do not 'echo' any values with compression enabled. +| +*/ +$config['compress_output'] = FALSE; + +/* +|-------------------------------------------------------------------------- +| Master Time Reference +|-------------------------------------------------------------------------- +| +| Options are 'local' or any PHP supported timezone. This preference tells +| the system whether to use your server's local time as the master 'now' +| reference, or convert it to the configured one timezone. See the 'date +| helper' page of the user guide for information regarding date handling. +| +*/ +$config['time_reference'] = 'local'; + +/* +|-------------------------------------------------------------------------- +| Rewrite PHP Short Tags +|-------------------------------------------------------------------------- +| +| If your PHP installation does not have short tag support enabled CI +| can rewrite the tags on-the-fly, enabling you to utilize that syntax +| in your view files. Options are TRUE or FALSE (boolean) +| +| Note: You need to have eval() enabled for this to work. +| +*/ +$config['rewrite_short_tags'] = FALSE; + +/* +|-------------------------------------------------------------------------- +| Reverse Proxy IPs +|-------------------------------------------------------------------------- +| +| If your server is behind a reverse proxy, you must whitelist the proxy +| IP addresses from which CodeIgniter should trust headers such as +| HTTP_X_FORWARDED_FOR and HTTP_CLIENT_IP in order to properly identify +| the visitor's IP address. +| +| You can use both an array or a comma-separated list of proxy addresses, +| as well as specifying whole subnets. Here are a few examples: +| +| Comma-separated: '10.0.1.200,192.168.5.0/24' +| Array: array('10.0.1.200', '192.168.5.0/24') +*/ +$config['proxy_ips'] = ''; diff --git a/application/config/constants.php b/application/config/constants.php new file mode 100644 index 0000000..18d3b4b --- /dev/null +++ b/application/config/constants.php @@ -0,0 +1,85 @@ +db->last_query() and profiling of DB queries. +| When you run a query, with this setting set to TRUE (default), +| CodeIgniter will store the SQL statement for debugging purposes. +| However, this may cause high memory usage, especially if you run +| a lot of SQL queries ... disable this to avoid that problem. +| +| The $active_group variable lets you choose which connection group to +| make active. By default there is only one group (the 'default' group). +| +| The $query_builder variables lets you determine whether or not to load +| the query builder class. +*/ +$active_group = 'default'; +$query_builder = TRUE; + +$db['default'] = array( + 'dsn' => '', + 'hostname' => 'localhost', + 'username' => '', + 'password' => '', + 'database' => '', + 'dbdriver' => 'mysqli', + 'dbprefix' => '', + 'pconnect' => FALSE, + 'db_debug' => (ENVIRONMENT !== 'production'), + 'cache_on' => FALSE, + 'cachedir' => '', + 'char_set' => 'utf8', + 'dbcollat' => 'utf8_general_ci', + 'swap_pre' => '', + 'encrypt' => FALSE, + 'compress' => FALSE, + 'stricton' => FALSE, + 'failover' => array(), + 'save_queries' => TRUE +); diff --git a/application/config/doctypes.php b/application/config/doctypes.php new file mode 100644 index 0000000..59a7991 --- /dev/null +++ b/application/config/doctypes.php @@ -0,0 +1,24 @@ + '', + 'xhtml1-strict' => '', + 'xhtml1-trans' => '', + 'xhtml1-frame' => '', + 'xhtml-basic11' => '', + 'html5' => '', + 'html4-strict' => '', + 'html4-trans' => '', + 'html4-frame' => '', + 'mathml1' => '', + 'mathml2' => '', + 'svg10' => '', + 'svg11' => '', + 'svg11-basic' => '', + 'svg11-tiny' => '', + 'xhtml-math-svg-xh' => '', + 'xhtml-math-svg-sh' => '', + 'xhtml-rdfa-1' => '', + 'xhtml-rdfa-2' => '' +); diff --git a/application/config/foreign_chars.php b/application/config/foreign_chars.php new file mode 100644 index 0000000..995f483 --- /dev/null +++ b/application/config/foreign_chars.php @@ -0,0 +1,103 @@ + 'ae', + '/ö|œ/' => 'oe', + '/ü/' => 'ue', + '/Ä/' => 'Ae', + '/Ü/' => 'Ue', + '/Ö/' => 'Oe', + '/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A', + '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a', + '/Б/' => 'B', + '/б/' => 'b', + '/Ç|Ć|Ĉ|Ċ|Č/' => 'C', + '/ç|ć|ĉ|ċ|č/' => 'c', + '/Д/' => 'D', + '/д/' => 'd', + '/Ð|Ď|Đ|Δ/' => 'Dj', + '/ð|ď|đ|δ/' => 'dj', + '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е|Э/' => 'E', + '/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е|э/' => 'e', + '/Ф/' => 'F', + '/ф/' => 'f', + '/Ĝ|Ğ|Ġ|Ģ|Γ|Г|Ґ/' => 'G', + '/ĝ|ğ|ġ|ģ|γ|г|ґ/' => 'g', + '/Ĥ|Ħ/' => 'H', + '/ĥ|ħ/' => 'h', + '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Ы/' => 'I', + '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|ы|ї/' => 'i', + '/Ĵ/' => 'J', + '/ĵ/' => 'j', + '/Ķ|Κ|К/' => 'K', + '/ķ|κ|к/' => 'k', + '/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L', + '/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l', + '/М/' => 'M', + '/м/' => 'm', + '/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N', + '/ñ|ń|ņ|ň|ʼn|ν|н/' => 'n', + '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O', + '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o', + '/П/' => 'P', + '/п/' => 'p', + '/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R', + '/ŕ|ŗ|ř|ρ|р/' => 'r', + '/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S', + '/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's', + '/Ț|Ţ|Ť|Ŧ|τ|Т/' => 'T', + '/ț|ţ|ť|ŧ|т/' => 't', + '/Þ|þ/' => 'th', + '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U', + '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u', + '/Ƴ|Ɏ|Ỵ|Ẏ|Ӳ|Ӯ|Ў|Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ|Й/' => 'Y', + '/ẙ|ʏ|ƴ|ɏ|ỵ|ẏ|ӳ|ӯ|ў|ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ|й/' => 'y', + '/В/' => 'V', + '/в/' => 'v', + '/Ŵ/' => 'W', + '/ŵ/' => 'w', + '/Ź|Ż|Ž|Ζ|З/' => 'Z', + '/ź|ż|ž|ζ|з/' => 'z', + '/Æ|Ǽ/' => 'AE', + '/ß/' => 'ss', + '/IJ/' => 'IJ', + '/ij/' => 'ij', + '/Œ/' => 'OE', + '/ƒ/' => 'f', + '/ξ/' => 'ks', + '/π/' => 'p', + '/β/' => 'v', + '/μ/' => 'm', + '/ψ/' => 'ps', + '/Ё/' => 'Yo', + '/ё/' => 'yo', + '/Є/' => 'Ye', + '/є/' => 'ye', + '/Ї/' => 'Yi', + '/Ж/' => 'Zh', + '/ж/' => 'zh', + '/Х/' => 'Kh', + '/х/' => 'kh', + '/Ц/' => 'Ts', + '/ц/' => 'ts', + '/Ч/' => 'Ch', + '/ч/' => 'ch', + '/Ш/' => 'Sh', + '/ш/' => 'sh', + '/Щ/' => 'Shch', + '/щ/' => 'shch', + '/Ъ|ъ|Ь|ь/' => '', + '/Ю/' => 'Yu', + '/ю/' => 'yu', + '/Я/' => 'Ya', + '/я/' => 'ya' +); diff --git a/application/config/hooks.php b/application/config/hooks.php new file mode 100644 index 0000000..a8f38a5 --- /dev/null +++ b/application/config/hooks.php @@ -0,0 +1,13 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/config/memcached.php b/application/config/memcached.php new file mode 100644 index 0000000..5c23b39 --- /dev/null +++ b/application/config/memcached.php @@ -0,0 +1,19 @@ + array( + 'hostname' => '127.0.0.1', + 'port' => '11211', + 'weight' => '1', + ), +); diff --git a/application/config/migration.php b/application/config/migration.php new file mode 100644 index 0000000..4b585a6 --- /dev/null +++ b/application/config/migration.php @@ -0,0 +1,84 @@ +migration->current() this is the version that schema will +| be upgraded / downgraded to. +| +*/ +$config['migration_version'] = 0; + +/* +|-------------------------------------------------------------------------- +| Migrations Path +|-------------------------------------------------------------------------- +| +| Path to your migrations folder. +| Typically, it will be within your application path. +| Also, writing permission is required within the migrations path. +| +*/ +$config['migration_path'] = APPPATH.'migrations/'; diff --git a/application/config/mimes.php b/application/config/mimes.php new file mode 100644 index 0000000..0176533 --- /dev/null +++ b/application/config/mimes.php @@ -0,0 +1,183 @@ + array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'), + 'cpt' => 'application/mac-compactpro', + 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'), + 'bin' => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'), + 'dms' => 'application/octet-stream', + 'lha' => 'application/octet-stream', + 'lzh' => 'application/octet-stream', + 'exe' => array('application/octet-stream', 'application/x-msdownload'), + 'class' => 'application/octet-stream', + 'psd' => array('application/x-photoshop', 'image/vnd.adobe.photoshop'), + 'so' => 'application/octet-stream', + 'sea' => 'application/octet-stream', + 'dll' => 'application/octet-stream', + 'oda' => 'application/oda', + 'pdf' => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'), + 'ai' => array('application/pdf', 'application/postscript'), + 'eps' => 'application/postscript', + 'ps' => 'application/postscript', + 'smi' => 'application/smil', + 'smil' => 'application/smil', + 'mif' => 'application/vnd.mif', + 'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'), + 'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'), + 'pptx' => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'), + 'wbxml' => 'application/wbxml', + 'wmlc' => 'application/wmlc', + 'dcr' => 'application/x-director', + 'dir' => 'application/x-director', + 'dxr' => 'application/x-director', + 'dvi' => 'application/x-dvi', + 'gtar' => 'application/x-gtar', + 'gz' => 'application/x-gzip', + 'gzip' => 'application/x-gzip', + 'php' => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'), + 'php4' => 'application/x-httpd-php', + 'php3' => 'application/x-httpd-php', + 'phtml' => 'application/x-httpd-php', + 'phps' => 'application/x-httpd-php-source', + 'js' => array('application/x-javascript', 'text/plain'), + 'swf' => 'application/x-shockwave-flash', + 'sit' => 'application/x-stuffit', + 'tar' => 'application/x-tar', + 'tgz' => array('application/x-tar', 'application/x-gzip-compressed'), + 'z' => 'application/x-compress', + 'xhtml' => 'application/xhtml+xml', + 'xht' => 'application/xhtml+xml', + 'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'), + 'rar' => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'), + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mpga' => 'audio/mpeg', + 'mp2' => 'audio/mpeg', + 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'), + 'aif' => array('audio/x-aiff', 'audio/aiff'), + 'aiff' => array('audio/x-aiff', 'audio/aiff'), + 'aifc' => 'audio/x-aiff', + 'ram' => 'audio/x-pn-realaudio', + 'rm' => 'audio/x-pn-realaudio', + 'rpm' => 'audio/x-pn-realaudio-plugin', + 'ra' => 'audio/x-realaudio', + 'rv' => 'video/vnd.rn-realvideo', + 'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'), + 'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'), + 'gif' => 'image/gif', + 'jpeg' => array('image/jpeg', 'image/pjpeg'), + 'jpg' => array('image/jpeg', 'image/pjpeg'), + 'jpe' => array('image/jpeg', 'image/pjpeg'), + 'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'jpf' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'jpg2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'jpx' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), + 'png' => array('image/png', 'image/x-png'), + 'tiff' => 'image/tiff', + 'tif' => 'image/tiff', + 'css' => array('text/css', 'text/plain'), + 'html' => array('text/html', 'text/plain'), + 'htm' => array('text/html', 'text/plain'), + 'shtml' => array('text/html', 'text/plain'), + 'txt' => 'text/plain', + 'text' => 'text/plain', + 'log' => array('text/plain', 'text/x-log'), + 'rtx' => 'text/richtext', + 'rtf' => 'text/rtf', + 'xml' => array('application/xml', 'text/xml', 'text/plain'), + 'xsl' => array('application/xml', 'text/xsl', 'text/xml'), + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpe' => 'video/mpeg', + 'qt' => 'video/quicktime', + 'mov' => 'video/quicktime', + 'avi' => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'), + 'movie' => 'video/x-sgi-movie', + 'doc' => array('application/msword', 'application/vnd.ms-office'), + 'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'), + 'dot' => array('application/msword', 'application/vnd.ms-office'), + 'dotx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'), + 'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'), + 'word' => array('application/msword', 'application/octet-stream'), + 'xl' => 'application/excel', + 'eml' => 'message/rfc822', + 'json' => array('application/json', 'text/json'), + 'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'), + 'p10' => array('application/x-pkcs10', 'application/pkcs10'), + 'p12' => 'application/x-pkcs12', + 'p7a' => 'application/x-pkcs7-signature', + 'p7c' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'), + 'p7m' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'), + 'p7r' => 'application/x-pkcs7-certreqresp', + 'p7s' => 'application/pkcs7-signature', + 'crt' => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'), + 'crl' => array('application/pkix-crl', 'application/pkcs-crl'), + 'der' => 'application/x-x509-ca-cert', + 'kdb' => 'application/octet-stream', + 'pgp' => 'application/pgp', + 'gpg' => 'application/gpg-keys', + 'sst' => 'application/octet-stream', + 'csr' => 'application/octet-stream', + 'rsa' => 'application/x-pkcs7', + 'cer' => array('application/pkix-cert', 'application/x-x509-ca-cert'), + '3g2' => 'video/3gpp2', + '3gp' => array('video/3gp', 'video/3gpp'), + 'mp4' => 'video/mp4', + 'm4a' => 'audio/x-m4a', + 'f4v' => array('video/mp4', 'video/x-f4v'), + 'flv' => 'video/x-flv', + 'webm' => 'video/webm', + 'aac' => 'audio/x-acc', + 'm4u' => 'application/vnd.mpegurl', + 'm3u' => 'text/plain', + 'xspf' => 'application/xspf+xml', + 'vlc' => 'application/videolan', + 'wmv' => array('video/x-ms-wmv', 'video/x-ms-asf'), + 'au' => 'audio/x-au', + 'ac3' => 'audio/ac3', + 'flac' => 'audio/x-flac', + 'ogg' => array('audio/ogg', 'video/ogg', 'application/ogg'), + 'kmz' => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'), + 'kml' => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'), + 'ics' => 'text/calendar', + 'ical' => 'text/calendar', + 'zsh' => 'text/x-scriptzsh', + '7zip' => array('application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), + 'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'), + 'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'), + 'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'), + 'svg' => array('image/svg+xml', 'application/xml', 'text/xml'), + 'vcf' => 'text/x-vcard', + 'srt' => array('text/srt', 'text/plain'), + 'vtt' => array('text/vtt', 'text/plain'), + 'ico' => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'), + 'odc' => 'application/vnd.oasis.opendocument.chart', + 'otc' => 'application/vnd.oasis.opendocument.chart-template', + 'odf' => 'application/vnd.oasis.opendocument.formula', + 'otf' => 'application/vnd.oasis.opendocument.formula-template', + 'odg' => 'application/vnd.oasis.opendocument.graphics', + 'otg' => 'application/vnd.oasis.opendocument.graphics-template', + 'odi' => 'application/vnd.oasis.opendocument.image', + 'oti' => 'application/vnd.oasis.opendocument.image-template', + 'odp' => 'application/vnd.oasis.opendocument.presentation', + 'otp' => 'application/vnd.oasis.opendocument.presentation-template', + 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', + 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', + 'odt' => 'application/vnd.oasis.opendocument.text', + 'odm' => 'application/vnd.oasis.opendocument.text-master', + 'ott' => 'application/vnd.oasis.opendocument.text-template', + 'oth' => 'application/vnd.oasis.opendocument.text-web' +); diff --git a/application/config/profiler.php b/application/config/profiler.php new file mode 100644 index 0000000..3db22e3 --- /dev/null +++ b/application/config/profiler.php @@ -0,0 +1,14 @@ + my_controller/index +| my-controller/my-method -> my_controller/my_method +*/ +$route['default_controller'] = 'welcome'; +$route['404_override'] = ''; +$route['translate_uri_dashes'] = FALSE; diff --git a/application/config/smileys.php b/application/config/smileys.php new file mode 100644 index 0000000..abf9a89 --- /dev/null +++ b/application/config/smileys.php @@ -0,0 +1,64 @@ + array('grin.gif', '19', '19', 'grin'), + ':lol:' => array('lol.gif', '19', '19', 'LOL'), + ':cheese:' => array('cheese.gif', '19', '19', 'cheese'), + ':)' => array('smile.gif', '19', '19', 'smile'), + ';-)' => array('wink.gif', '19', '19', 'wink'), + ';)' => array('wink.gif', '19', '19', 'wink'), + ':smirk:' => array('smirk.gif', '19', '19', 'smirk'), + ':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'), + ':-S' => array('confused.gif', '19', '19', 'confused'), + ':wow:' => array('surprise.gif', '19', '19', 'surprised'), + ':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'), + ':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'), + '%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'), + ';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'), + ':P' => array('raspberry.gif', '19', '19', 'raspberry'), + ':blank:' => array('blank.gif', '19', '19', 'blank stare'), + ':long:' => array('longface.gif', '19', '19', 'long face'), + ':ohh:' => array('ohh.gif', '19', '19', 'ohh'), + ':grrr:' => array('grrr.gif', '19', '19', 'grrr'), + ':gulp:' => array('gulp.gif', '19', '19', 'gulp'), + '8-/' => array('ohoh.gif', '19', '19', 'oh oh'), + ':down:' => array('downer.gif', '19', '19', 'downer'), + ':red:' => array('embarrassed.gif', '19', '19', 'red face'), + ':sick:' => array('sick.gif', '19', '19', 'sick'), + ':shut:' => array('shuteye.gif', '19', '19', 'shut eye'), + ':-/' => array('hmm.gif', '19', '19', 'hmmm'), + '>:(' => array('mad.gif', '19', '19', 'mad'), + ':mad:' => array('mad.gif', '19', '19', 'mad'), + '>:-(' => array('angry.gif', '19', '19', 'angry'), + ':angry:' => array('angry.gif', '19', '19', 'angry'), + ':zip:' => array('zip.gif', '19', '19', 'zipper'), + ':kiss:' => array('kiss.gif', '19', '19', 'kiss'), + ':ahhh:' => array('shock.gif', '19', '19', 'shock'), + ':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'), + ':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'), + ':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'), + ':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'), + ':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'), + ':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'), + ':vampire:' => array('vampire.gif', '19', '19', 'vampire'), + ':snake:' => array('snake.gif', '19', '19', 'snake'), + ':exclaim:' => array('exclaim.gif', '19', '19', 'exclaim'), + ':question:' => array('question.gif', '19', '19', 'question') + +); diff --git a/application/config/user_agents.php b/application/config/user_agents.php new file mode 100644 index 0000000..798086b --- /dev/null +++ b/application/config/user_agents.php @@ -0,0 +1,214 @@ + 'Windows 10', + 'windows nt 6.3' => 'Windows 8.1', + 'windows nt 6.2' => 'Windows 8', + 'windows nt 6.1' => 'Windows 7', + 'windows nt 6.0' => 'Windows Vista', + 'windows nt 5.2' => 'Windows 2003', + 'windows nt 5.1' => 'Windows XP', + 'windows nt 5.0' => 'Windows 2000', + 'windows nt 4.0' => 'Windows NT 4.0', + 'winnt4.0' => 'Windows NT 4.0', + 'winnt 4.0' => 'Windows NT', + 'winnt' => 'Windows NT', + 'windows 98' => 'Windows 98', + 'win98' => 'Windows 98', + 'windows 95' => 'Windows 95', + 'win95' => 'Windows 95', + 'windows phone' => 'Windows Phone', + 'windows' => 'Unknown Windows OS', + 'android' => 'Android', + 'blackberry' => 'BlackBerry', + 'iphone' => 'iOS', + 'ipad' => 'iOS', + 'ipod' => 'iOS', + 'os x' => 'Mac OS X', + 'ppc mac' => 'Power PC Mac', + 'freebsd' => 'FreeBSD', + 'ppc' => 'Macintosh', + 'linux' => 'Linux', + 'debian' => 'Debian', + 'sunos' => 'Sun Solaris', + 'beos' => 'BeOS', + 'apachebench' => 'ApacheBench', + 'aix' => 'AIX', + 'irix' => 'Irix', + 'osf' => 'DEC OSF', + 'hp-ux' => 'HP-UX', + 'netbsd' => 'NetBSD', + 'bsdi' => 'BSDi', + 'openbsd' => 'OpenBSD', + 'gnu' => 'GNU/Linux', + 'unix' => 'Unknown Unix OS', + 'symbian' => 'Symbian OS' +); + + +// The order of this array should NOT be changed. Many browsers return +// multiple browser types so we want to identify the sub-type first. +$browsers = array( + 'OPR' => 'Opera', + 'Flock' => 'Flock', + 'Edge' => 'Spartan', + 'Chrome' => 'Chrome', + // Opera 10+ always reports Opera/9.80 and appends Version/ to the user agent string + 'Opera.*?Version' => 'Opera', + 'Opera' => 'Opera', + 'MSIE' => 'Internet Explorer', + 'Internet Explorer' => 'Internet Explorer', + 'Trident.* rv' => 'Internet Explorer', + 'Shiira' => 'Shiira', + 'Firefox' => 'Firefox', + 'Chimera' => 'Chimera', + 'Phoenix' => 'Phoenix', + 'Firebird' => 'Firebird', + 'Camino' => 'Camino', + 'Netscape' => 'Netscape', + 'OmniWeb' => 'OmniWeb', + 'Safari' => 'Safari', + 'Mozilla' => 'Mozilla', + 'Konqueror' => 'Konqueror', + 'icab' => 'iCab', + 'Lynx' => 'Lynx', + 'Links' => 'Links', + 'hotjava' => 'HotJava', + 'amaya' => 'Amaya', + 'IBrowse' => 'IBrowse', + 'Maxthon' => 'Maxthon', + 'Ubuntu' => 'Ubuntu Web Browser' +); + +$mobiles = array( + // legacy array, old values commented out + 'mobileexplorer' => 'Mobile Explorer', +// 'openwave' => 'Open Wave', +// 'opera mini' => 'Opera Mini', +// 'operamini' => 'Opera Mini', +// 'elaine' => 'Palm', + 'palmsource' => 'Palm', +// 'digital paths' => 'Palm', +// 'avantgo' => 'Avantgo', +// 'xiino' => 'Xiino', + 'palmscape' => 'Palmscape', +// 'nokia' => 'Nokia', +// 'ericsson' => 'Ericsson', +// 'blackberry' => 'BlackBerry', +// 'motorola' => 'Motorola' + + // Phones and Manufacturers + 'motorola' => 'Motorola', + 'nokia' => 'Nokia', + 'palm' => 'Palm', + 'iphone' => 'Apple iPhone', + 'ipad' => 'iPad', + 'ipod' => 'Apple iPod Touch', + 'sony' => 'Sony Ericsson', + 'ericsson' => 'Sony Ericsson', + 'blackberry' => 'BlackBerry', + 'cocoon' => 'O2 Cocoon', + 'blazer' => 'Treo', + 'lg' => 'LG', + 'amoi' => 'Amoi', + 'xda' => 'XDA', + 'mda' => 'MDA', + 'vario' => 'Vario', + 'htc' => 'HTC', + 'samsung' => 'Samsung', + 'sharp' => 'Sharp', + 'sie-' => 'Siemens', + 'alcatel' => 'Alcatel', + 'benq' => 'BenQ', + 'ipaq' => 'HP iPaq', + 'mot-' => 'Motorola', + 'playstation portable' => 'PlayStation Portable', + 'playstation 3' => 'PlayStation 3', + 'playstation vita' => 'PlayStation Vita', + 'hiptop' => 'Danger Hiptop', + 'nec-' => 'NEC', + 'panasonic' => 'Panasonic', + 'philips' => 'Philips', + 'sagem' => 'Sagem', + 'sanyo' => 'Sanyo', + 'spv' => 'SPV', + 'zte' => 'ZTE', + 'sendo' => 'Sendo', + 'nintendo dsi' => 'Nintendo DSi', + 'nintendo ds' => 'Nintendo DS', + 'nintendo 3ds' => 'Nintendo 3DS', + 'wii' => 'Nintendo Wii', + 'open web' => 'Open Web', + 'openweb' => 'OpenWeb', + + // Operating Systems + 'android' => 'Android', + 'symbian' => 'Symbian', + 'SymbianOS' => 'SymbianOS', + 'elaine' => 'Palm', + 'series60' => 'Symbian S60', + 'windows ce' => 'Windows CE', + + // Browsers + 'obigo' => 'Obigo', + 'netfront' => 'Netfront Browser', + 'openwave' => 'Openwave Browser', + 'mobilexplorer' => 'Mobile Explorer', + 'operamini' => 'Opera Mini', + 'opera mini' => 'Opera Mini', + 'opera mobi' => 'Opera Mobile', + 'fennec' => 'Firefox Mobile', + + // Other + 'digital paths' => 'Digital Paths', + 'avantgo' => 'AvantGo', + 'xiino' => 'Xiino', + 'novarra' => 'Novarra Transcoder', + 'vodafone' => 'Vodafone', + 'docomo' => 'NTT DoCoMo', + 'o2' => 'O2', + + // Fallback + 'mobile' => 'Generic Mobile', + 'wireless' => 'Generic Mobile', + 'j2me' => 'Generic Mobile', + 'midp' => 'Generic Mobile', + 'cldc' => 'Generic Mobile', + 'up.link' => 'Generic Mobile', + 'up.browser' => 'Generic Mobile', + 'smartphone' => 'Generic Mobile', + 'cellphone' => 'Generic Mobile' +); + +// There are hundreds of bots but these are the most common. +$robots = array( + 'googlebot' => 'Googlebot', + 'msnbot' => 'MSNBot', + 'baiduspider' => 'Baiduspider', + 'bingbot' => 'Bing', + 'slurp' => 'Inktomi Slurp', + 'yahoo' => 'Yahoo', + 'ask jeeves' => 'Ask Jeeves', + 'fastcrawler' => 'FastCrawler', + 'infoseek' => 'InfoSeek Robot 1.0', + 'lycos' => 'Lycos', + 'yandex' => 'YandexBot', + 'mediapartners-google' => 'MediaPartners Google', + 'CRAZYWEBCRAWLER' => 'Crazy Webcrawler', + 'adsbot-google' => 'AdsBot Google', + 'feedfetcher-google' => 'Feedfetcher Google', + 'curious george' => 'Curious George', + 'ia_archiver' => 'Alexa Crawler', + 'MJ12bot' => 'Majestic-12', + 'Uptimebot' => 'Uptimebot' +); diff --git a/application/controllers/Welcome.php b/application/controllers/Welcome.php new file mode 100644 index 0000000..d5c260a --- /dev/null +++ b/application/controllers/Welcome.php @@ -0,0 +1,25 @@ + + * @see https://codeigniter.com/user_guide/general/urls.html + */ + public function index() + { + $this->load->view('home/home'); + } +} diff --git a/application/controllers/index.html b/application/controllers/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/controllers/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/core/index.html b/application/core/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/core/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/helpers/index.html b/application/helpers/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/helpers/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/hooks/index.html b/application/hooks/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/hooks/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/index.html b/application/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/language/english/index.html b/application/language/english/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/language/english/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/language/index.html b/application/language/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/language/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/libraries/index.html b/application/libraries/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/libraries/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/logs/index.html b/application/logs/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/logs/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/models/index.html b/application/models/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/models/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/third_party/index.html b/application/third_party/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/third_party/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/views/errors/cli/error_404.php b/application/views/errors/cli/error_404.php new file mode 100644 index 0000000..6984b61 --- /dev/null +++ b/application/views/errors/cli/error_404.php @@ -0,0 +1,8 @@ + + +An uncaught Exception was encountered + +Type: +Message: +Filename: getFile(), "\n"; ?> +Line Number: getLine(); ?> + + + +Backtrace: +getTrace() as $error): ?> + + File: + Line: + Function: + + + + diff --git a/application/views/errors/cli/error_general.php b/application/views/errors/cli/error_general.php new file mode 100644 index 0000000..6984b61 --- /dev/null +++ b/application/views/errors/cli/error_general.php @@ -0,0 +1,8 @@ + + +A PHP Error was encountered + +Severity: +Message: +Filename: +Line Number: + + + +Backtrace: + + + File: + Line: + Function: + + + + diff --git a/application/views/errors/cli/index.html b/application/views/errors/cli/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/views/errors/cli/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/views/errors/html/error_404.php b/application/views/errors/html/error_404.php new file mode 100644 index 0000000..756ea9d --- /dev/null +++ b/application/views/errors/html/error_404.php @@ -0,0 +1,64 @@ + + + + +404 Page Not Found + + + +
+

+ +
+ + \ No newline at end of file diff --git a/application/views/errors/html/error_db.php b/application/views/errors/html/error_db.php new file mode 100644 index 0000000..f5a43f6 --- /dev/null +++ b/application/views/errors/html/error_db.php @@ -0,0 +1,64 @@ + + + + +Database Error + + + +
+

+ +
+ + \ No newline at end of file diff --git a/application/views/errors/html/error_exception.php b/application/views/errors/html/error_exception.php new file mode 100644 index 0000000..8784886 --- /dev/null +++ b/application/views/errors/html/error_exception.php @@ -0,0 +1,32 @@ + + +
+ +

An uncaught Exception was encountered

+ +

Type:

+

Message:

+

Filename: getFile(); ?>

+

Line Number: getLine(); ?>

+ + + +

Backtrace:

+ getTrace() as $error): ?> + + + +

+ File:
+ Line:
+ Function: +

+ + + + + + +
\ No newline at end of file diff --git a/application/views/errors/html/error_general.php b/application/views/errors/html/error_general.php new file mode 100644 index 0000000..fc3b2eb --- /dev/null +++ b/application/views/errors/html/error_general.php @@ -0,0 +1,64 @@ + + + + +Error + + + +
+

+ +
+ + \ No newline at end of file diff --git a/application/views/errors/html/error_php.php b/application/views/errors/html/error_php.php new file mode 100644 index 0000000..b146f9c --- /dev/null +++ b/application/views/errors/html/error_php.php @@ -0,0 +1,33 @@ + + +
+ +

A PHP Error was encountered

+ +

Severity:

+

Message:

+

Filename:

+

Line Number:

+ + + +

Backtrace:

+ + + + +

+ File:
+ Line:
+ Function: +

+ + + + + + + +
\ No newline at end of file diff --git a/application/views/errors/html/index.html b/application/views/errors/html/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/views/errors/html/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/views/errors/index.html b/application/views/errors/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/views/errors/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/views/home/home.php b/application/views/home/home.php new file mode 100644 index 0000000..abb9250 --- /dev/null +++ b/application/views/home/home.php @@ -0,0 +1,367 @@ + + + + + + CAPS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+
+
+ + +
+ +
+ + + +
+
+
+
+
+
+

Complete

+

+

+
+
+
+
+
+
+ + +
+
+
+
+
+
+ + + +
+
+
+
+
+ CAPS FEATURES +

Quality of Drive Experience is our Goal

+
+
+
+
+
+
+

Trip Monitoring

+

You are not alone on the road. Enhance your safety by analyzing what others drivers are doing around you.

+
+
+

TRAFFIC Intelligence

+

In the ecosystem of how to get there view self-drive, Lyft or Uber, we help optimize your option.

+
+
+

Dash Verify

+

What you see on your dash augmented by our app. It is good to at least know your speed is correct.

+
+
+
+
+ Feature Slide + Feature Slide + Feature Slide + Feature Slide + Feature Slide + Feature Slide +
+
+
+
+

Environment Guard

+

Our system consumes your location risk to enhance your awareness and preparedness.

+
+
+

Passive Secure

+

Protection when your car is not in motion. Dangers like wrong or hacked start is covered.

+
+
+

24/7 LIVE SUPPORT

+

We are here all the time by chats, email or phone to answer your questions.

+
+
+
+
+
+ + + +
+
+
+
+
+ PLAN +

Individual of Company

+
+
+

You Are

+
    +
  • | Individual
  • +
  • | Company
  • +
+

Thus much I thought proper to tell you in relation to yourself, and to the trust I reposed in you.

+

Have a bigger team? Let‘s talk

+
+
+
+
    +
  • +

    Individual

    + Free +

    Build your schedule
    every day

    +
      +
    • Unlimeted events

    • +
    • Connect Dropbox & Evernote

    • +
    • Personal Assistant

    • +
    + | Get Started +
  • +
  • +

    Pro

    + $4.99 +

    Make your life
    better

    +
      +
    • Unlimeted events

    • +
    • Connect Dropbox & Evernote

    • +
    • Personal Assistant

    • +
    + | Make me a Pro +
  • +
+
+
+
+
+ + + + + + + +
+
+
+
+
+

Get this Application

+ Swip . Get Matched . Connect +
+
+
+
+
+
+ Apple + Google Play + Windows + Amazon +
+
+
+
+
+
+ Mobile Slide +
+
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/application/views/index.html b/application/views/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/application/views/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

Directory access is forbidden.

+ + + diff --git a/application/views/welcome_message.php b/application/views/welcome_message.php new file mode 100644 index 0000000..f511563 --- /dev/null +++ b/application/views/welcome_message.php @@ -0,0 +1,89 @@ + + + + + Welcome to CodeIgniter + + + + + +
+

Welcome to CodeIgniter!

+ +
+

The page you are looking at is being generated dynamically by CodeIgniter.

+ +

If you would like to edit this page you'll find it located at:

+ application/views/welcome_message.php + +

The corresponding controller for this page is found at:

+ application/controllers/Welcome.php + +

If you are exploring CodeIgniter for the very first time, you should start by reading the User Guide.

+
+ + +
+ + + \ No newline at end of file diff --git a/assets/css/animate.min.css b/assets/css/animate.min.css new file mode 100644 index 0000000..0b6a47d --- /dev/null +++ b/assets/css/animate.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{100%,20%,53%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{100%,20%,53%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{100%,50%,from{opacity:1}25%,75%{opacity:0}}@keyframes flash{100%,50%,from{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{100%,from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{100%,from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{from{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{100%,11.1%,from{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{100%,11.1%,from{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{100%,20%,40%,60%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{100%,20%,40%,60%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}100%{opacity:1}}@keyframes fadeIn{from{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}100%{opacity:0}}@keyframes fadeOut{from{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/assets/css/bootstrap.min.css b/assets/css/bootstrap.min.css new file mode 100644 index 0000000..4cf729e --- /dev/null +++ b/assets/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/assets/css/default.css b/assets/css/default.css new file mode 100644 index 0000000..177a67f --- /dev/null +++ b/assets/css/default.css @@ -0,0 +1,259 @@ +/* +Table of contents +=========================================== +- General Style +- Utility Classes +- Button Style +- Form Elements +- Page Header +- Breadcrumb +- Tab +- Pagination +- Section Title +=========================================== +*/ + +/* +------------------------------------ +- General Style +------------------------------------ +*/ +*, +*:before, +*:after { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +*:focus { + outline: 0; +} +html { + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #3c3c3c; + letter-spacing: 0px; + line-height: 28px; + -webkit-font-smoothing: antialiased; +} +body { + background: #fff; + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #3c3c3c; + letter-spacing: 0px; + line-height: 28px; + -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */ + -webkit-text-size-adjust: 100%; +} +img { + max-width: 100%; + height: auto; +} +button, input, textarea { + font-family: 'Open Sans', sans-serif; + letter-spacing: 1px; +} +/* +------------------------------------ +- Utility Classes +------------------------------------ +*/ +.bg-light { + background: #f4f4f5; +} +.pn { + padding: 0px !important; +} +.inner-padding { + padding: 100px 0px; + overflow: hidden; +} +.typed-cursor{ + opacity: 1; + -webkit-animation: blink 0.7s infinite; + -moz-animation: blink 0.7s infinite; + animation: blink 0.7s infinite; + display: none; +} +@keyframes blink{ + 0% { opacity:1; } + 50% { opacity:0; } + 100% { opacity:1; } +} +@-webkit-keyframes blink{ + 0% { opacity:1; } + 50% { opacity:0; } + 100% { opacity:1; } +} +@-moz-keyframes blink{ + 0% { opacity:1; } + 50% { opacity:0; } + 100% { opacity:1; } +} +/* +------------------------------------ +- Button Style +------------------------------------ +*/ +.btn { + height: 40px; + padding: 0px 55px; + line-height: 35px; + -webkit-border-radius: 30px; + -moz-border-radius: 30px; + -ms-border-radius: 30px; + -o-border-radius: 30px; + border-radius: 30px; + font-family: 'Montserrat', sans-serif; + font-size: 16px; + font-weight: 400; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.btn-fill { + background: #8cbdcf; + color: #fff; + font-weight: 400; + border-color: #8cbdcf; +} +.btn-fill:hover { + background: #74a9bc; + border-color: #74a9bc; + color: #fff !important; +} +.btn-outline { + background: transparent; + color: #8cbdcf; + font-weight: 400; + border-color: #8cbdcf; +} +.btn-outline:hover { + background: transparent; + border-color: #74a9bc; +} + +/* Blue */ +.btn-fill-blue { + background: #7d4ccc; + color: #fff; + font-weight: 400; + border-color: #7d4ccc; +} +.btn-fill-blue:hover { + background: #7045b6; + border-color: #7045b6; + color: #fff !important; +} +.btn-outline-blue { + background: transparent; + color: #7d4ccc; + font-weight: 400; + border-color: #7d4ccc; +} +.btn-outline-blue:hover { + background: transparent; + border-color: #7045b6; +} + +/* Megento */ +.btn-fill-megento { + background: #ed145b; + color: #fff !important; + font-weight: 400; + border-color: #ed145b; +} +.btn-fill-megento:hover { + background: #d31050; + border-color: #d31050; + color: #fff !important; +} +.btn-fill-megento:hover a { + color: #fff !important; +} +.btn-outline-megento { + background: transparent; + color: #ed145b; + font-weight: 400; + border-color: #ed145b; +} +.btn-outline-megento:hover { + background: transparent; + border-color: #d31050; +} +/* +------------------------------------ +- Form Elements +------------------------------------ +*/ + + +/* +------------------------------------ +- Page Header +------------------------------------ +*/ + +/* +------------------------------------ +- Bread Crumb +------------------------------------ +*/ + +/* +------------------------------------ +- Pagination +------------------------------------ +*/ + +/* +------------------------------------ +- Tab +------------------------------------ +*/ + +/* +--------------------------------- +- Customize Owl Carousel +--------------------------------- +*/ +.owl-carousel .owl-item img { + width: auto !important; + max-width: 100% !important; + margin: auto !important; +} +.owl-dots { + width: 100%; + height: 30px; + text-align: center; + position: absolute; + bottom: 5px; + left: 0px; +} +.owl-dot { + background: #ededed; + width: 12px; + height: 12px; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + display: inline-block; + margin-right: 10px; +} +.owl-dot.active { + background: #666; + width: 12px; + height: 12px; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; +} \ No newline at end of file diff --git a/assets/css/font-awesome.min.css b/assets/css/font-awesome.min.css new file mode 100644 index 0000000..ee4e978 --- /dev/null +++ b/assets/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.4.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"} diff --git a/assets/css/owl.carousel.min.css b/assets/css/owl.carousel.min.css new file mode 100644 index 0000000..09f4552 --- /dev/null +++ b/assets/css/owl.carousel.min.css @@ -0,0 +1,6 @@ +/** + * Owl Carousel v2.1.1 + * Copyright 2013-2016 David Deutsch + * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE) + */ +.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%;-webkit-transform-style:preserve-3d}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loaded{display:block}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{display:none}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.no-js .owl-carousel{display:block}.owl-carousel .animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:-webkit-transform .1s ease;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-webkit-transform:scale(1.3,1.3);-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} \ No newline at end of file diff --git a/assets/css/owl.theme.min.css b/assets/css/owl.theme.min.css new file mode 100644 index 0000000..c6ca0f2 --- /dev/null +++ b/assets/css/owl.theme.min.css @@ -0,0 +1,5 @@ +/** + * Owl Carousel v2.1.1 + * Copyright 2013-2016 David Deutsch + * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE) + */ diff --git a/assets/css/responsive-blue.css b/assets/css/responsive-blue.css new file mode 100644 index 0000000..58fc127 --- /dev/null +++ b/assets/css/responsive-blue.css @@ -0,0 +1,256 @@ +/* Medium Layout: 1280px. */ + +@media only screen and (min-width: 992px) and (max-width: 1200px) {} +/* Tablet Layout: 768px. */ + +@media only screen and (min-width: 768px) and (max-width: 1024px) { + /* Header Section */ + .navbar-default { + min-height: 75px; + } + .navbar-header { + float: none; + } + .navbar-toggle { + display: block; + } + .navbar-collapse.collapse { + display: none!important; + } + .navbar-collapse.collapse.in { + display: block!important; + border-top: 1px solid #fff; + padding-top: 10px; + } + .collapsing { + overflow: hidden!important; + } + + .navbar-brand > img { + max-width: 70%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .navbar-default .navbar-right { + float: left !important; + margin-top: 5px !important; + } + .navbar-default .navbar-nav > li { + float: left !important; + width: 100%; + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + .navbar-default .navbar-nav > .active > a::after { + width: 5px; + height: 100%; + } + + /* Hero Section */ + .tab-slide .owl-stage-outer, + .tab-slide .owl-dots { + display: none; + } + .tab-carousel-caption { + width: 100%; + } + + /* Feature Section */ + .single-feature-item { + text-align: center; + } + .single-feature-slide { + margin-bottom: 60px; + } + + /* Pricing Section */ + .pricing-pill { + margin-bottom: 30px; + } + .pricing-table { + margin-top: 60px; + } + +} +/* Mobile Layout: 320px. */ + +@media only screen and (max-width: 767px) { + /* Header Section */ + + .navbar-default { + min-height: 75px; + } + .navbar-brand > img { + max-width: 70%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .navbar-default .navbar-nav { + margin-top: 5px !important; + } + .navbar-default .navbar-nav > li { + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + .navbar-default .navbar-nav > .active > a::after { + width: 5px; + height: 100%; + } + /* Hero Section */ + + .tab-carousel-inner { + position: relative; + min-height: 200px !important; + padding: 180px 10px 80px 10px; + right: 0px; + } + .tab-carousel-caption { + width: 100%; + padding: 85px 15px 40px 15px; + text-align: center; + } + .app-icon { + left: 10px; + } + .tab-carousel-box { + background: transparent; + box-shadow: none; + } + .tab-slide { + right: 0px; + display: none !important; + } + .hero-caption { + display: none; + } + /* Feature Section */ + + .single-feature-item { + text-align: center; + } + .single-feature-slide { + margin-bottom: 75px; + } + /* Pricing Section */ + + .pricing-table li { + width: 100%; + margin-bottom: 75px; + } + .pricing-table li:last-child { + margin-bottom: 0px; + } + .pricing-list li { + margin-bottom: 15px !important; + } + /* Download Section */ + + .store-icon a img { + max-width: 40%; + } + /* Footer Section */ + + .footer-box h2 { + font-size: 24px; + margin-bottom: 30px; + } + /* Copyright Section */ + + .copyright-area { + text-align: center; + } +} +/* Wide Mobile Layout: 480px. */ + +@media only screen and (min-width: 481px) and (max-width: 767px) { + /* Hero Section */ + + .hero-area { + min-height: 0px; + height: auto; + } + .hero-caption { + left: -120px; + top: 350px; + transform: rotateZ(-90deg); + } +} +/* Wide Mobile Layout: 480px. */ + +@media only screen and (min-width: 240px) and (max-width: 480px) { + /* Header Section */ + + .navbar-default { + min-height: 75px; + } + .navbar-default .navbar-brand { + width: 50%; + } + .navbar-brand > img { + max-width: 100%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .nav > li { + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + /* Hero Section */ + /*.hero-caption {left: -110px;} + .hero-caption .sublead {font-size:20px;margin-bottom: -10px;} + .hero-caption .lead {font-size: 40px;margin-bottom: -10px;} + .hero-caption .lead-text {font-size: 14px;}*/ + /* Pricing Section */ + + .pricing-pill li { + padding: 10px 25px; + } +} \ No newline at end of file diff --git a/assets/css/responsive-dark.css b/assets/css/responsive-dark.css new file mode 100644 index 0000000..a444c1f --- /dev/null +++ b/assets/css/responsive-dark.css @@ -0,0 +1,265 @@ +/* Medium Layout: 1280px. */ + +@media only screen and (min-width: 992px) and (max-width: 1200px) {} + +/* Tablet Layout: 768px. */ +@media only screen and (min-width: 768px) and (max-width: 1024px) { + /* Header Section */ + .navbar-default { + min-height: 75px; + } + .navbar-header { + float: none; + } + .navbar-toggle { + display: block; + } + .navbar-collapse.collapse { + display: none!important; + } + .navbar-collapse.collapse.in { + display: block!important; + border-top: 1px solid #fff; + padding-top: 10px; + } + .collapsing { + overflow: hidden!important; + } + + .navbar-brand > img { + max-width: 70%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .navbar-default .navbar-right { + float: left !important; + margin-top: 5px !important; + } + .navbar-default .navbar-nav > li { + float: left !important; + width: 100%; + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + .navbar-default .navbar-nav > .active > a::after { + width: 5px; + height: 100%; + } + + /* Hero Section */ + .dark-mockup-slider-area { + top: 40px; + } + .dark-mockup-slider, + .dark-mockup-slider-area { + display: none; + } + .hero-caption { + height: 100vh; + } + .hero-caption-inner .lead { + font-size: 120px; + margin: 20px 0px; + } + .hero-caption-inner, + .hero-caption-inner .lead-text { + text-align: center; + } + .hero-caption-inner .sublead { + text-align: center; + } + + /* Feature Section */ + .single-feature-item { + text-align: center; + } + .single-feature-slide { + margin-bottom: 60px; + } + + /* Pricing Section */ + .pricing-pill { + margin-bottom: 30px; + } + .pricing-table { + margin-top: 60px; + } +} + +/* Mobile Layout: 320px. */ +@media only screen and (max-width: 767px) { + /* Header Section */ + + .navbar-default { + min-height: 75px; + background: rgba(1,1,1,0.8); + } + .navbar-brand > img { + max-width: 70%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .navbar-default .navbar-nav { + margin-top: 5px !important; + } + .navbar-default .navbar-nav > li { + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + .navbar-default .navbar-nav > .active > a::after { + width: 5px; + height: 100%; + } + /* Hero Section */ + + .dark-mockup-slider-area { + top: 40px; + } + .dark-mockup-slider, + .dark-mockup-slider-area { + display: none; + } + .hero-caption { + height: 100vh; + } + .hero-caption-inner .lead { + font-size: 60px; + margin: 20px 0px; + } + .hero-caption-inner, + .hero-caption-inner .lead-text { + text-align: center; + } + .hero-caption-inner .sublead { + text-align: center; + } + + + /* Feature Section */ + + .single-feature-item { + text-align: center; + } + .feature-right .single-feature-item:last-child { + margin-bottom: 0px; + } + .single-feature-slide { + margin-bottom: 75px; + } + /* Pricing Section */ + + .pricing-table li { + width: 100%; + margin-bottom: 75px; + } + .pricing-table li:last-child { + margin-bottom: 0px; + } + .pricing-list li { + margin-bottom: 15px !important; + } + /* Download Section */ + + .store-icon a img { + max-width: 40%; + } + /* Footer Section */ + + .footer-box h2 { + font-size: 24px; + margin-bottom: 30px; + } + /* Copyright Section */ + + .copyright-area { + text-align: center; + } +} +/* Wide Mobile Layout: 480px. */ + +@media only screen and (min-width: 481px) and (max-width: 767px) { + /* Hero Section */ + + .hero-area { + min-height: 0px; + height: auto; + } + .hero-caption { + left: -120px; + top: 350px; + transform: rotateZ(-90deg); + } +} +/* Wide Mobile Layout: 480px. */ + +@media only screen and (min-width: 240px) and (max-width: 480px) { + /* Header Section */ + + .navbar-default { + min-height: 75px; + } + .navbar-default .navbar-brand { + width: 50%; + } + .navbar-brand > img { + max-width: 100%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .nav > li { + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + /* Pricing Section */ + .pricing-pill li { + padding: 10px 25px; + } +} \ No newline at end of file diff --git a/assets/css/responsive.css b/assets/css/responsive.css new file mode 100644 index 0000000..43c6fa5 --- /dev/null +++ b/assets/css/responsive.css @@ -0,0 +1,276 @@ +/* Medium Layout: 1280px. */ + +@media only screen and (min-width: 992px) and (max-width: 1200px) {} + +/* Tablet Layout: 768px. */ +@media only screen and (min-width: 768px) and (max-width: 1024px) { + + /* Header Section */ + .navbar-default { + min-height: 75px; + } + .navbar-header { + float: none; + } + .navbar-toggle { + display: block; + } + .navbar-collapse.collapse { + display: none!important; + } + .navbar-collapse.collapse.in { + display: block!important; + border-top: 1px solid #fff; + padding-top: 10px; + } + .collapsing { + overflow: hidden!important; + } + + .navbar-brand > img { + max-width: 70%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .navbar-default .navbar-right { + float: left !important; + /*margin-top: 5px !important;*/ + } + .navbar-default .navbar-nav > li { + float: left !important; + width: 100%; + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + .navbar-default .navbar-nav > .active > a::after { + width: 5px; + height: 100%; + } + + /* Hero Section */ + .ball, + .paper, + .coffee, + .plant, + .glass { + display: none; + } + .hero-caption { + left: 30px; + padding-right: 0px; + } + .hero-caption .lead { + font-size: 84px; + } + + /* Feature Section */ + .single-feature-item { + text-align: center; + } + .single-feature-slide { + margin-bottom: 60px; + } + + /* Pricing Section */ + .pricing-pill { + margin-bottom: 30px; + } + .pricing-table { + margin-top: 60px; + } +} + +/* Mobile Layout: 320px. */ +@media only screen and (max-width: 767px) { + /* Header Section */ + + .navbar-default { + min-height: 75px; + } + .navbar-brand > img { + max-width: 70%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .navbar-default .navbar-nav { + margin-top: 5px !important; + } + .navbar-default .navbar-nav > li { + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + .navbar-default .navbar-nav > .active > a::after { + width: 5px; + height: 100%; + } + /* Hero Section */ + + .hero-area { + min-height: 0px; + height: 100vh; + } + .mockup-slider { + top: 80px; + bottom: 0px; + } + .hero-social-share { + text-align: center; + } + .hero-caption { + left: -120px; + transform: rotateZ(-90deg); + display: none; + } + .hero-caption .sublead { + font-size: 24px; + margin-bottom: -10px; + } + .hero-caption .lead { + font-size: 48px; + margin-bottom: -10px; + } + .hero-caption .lead-text { + font-size: 16px; + } + /* Feature Section */ + + .single-feature-item { + text-align: center; + } + .single-feature-slide { + margin-bottom: 75px; + } + /* Pricing Section */ + + .pricing-table li { + width: 100%; + margin-bottom: 75px; + } + .pricing-table li:last-child { + margin-bottom: 0px; + } + .pricing-list li { + margin-bottom: 15px !important; + } + /* Download Section */ + + .store-icon a img { + max-width: 40%; + } + /* Footer Section */ + + .footer-box h2 { + font-size: 24px; + margin-bottom: 30px; + } + /* Copyright Section */ + + .copyright-area { + text-align: center; + } +} +/* Wide Mobile Layout: 480px. */ + +@media only screen and (min-width: 481px) and (max-width: 767px) { + /* Hero Section */ + + .hero-area { + min-height: 0px; + height: auto; + } + .hero-caption { + left: -120px; + top: 350px; + transform: rotateZ(-90deg); + } +} +/* Wide Mobile Layout: 480px. */ + +@media only screen and (min-width: 240px) and (max-width: 480px) { + /* Header Section */ + + .navbar-default { + min-height: 75px; + } + .navbar-default .navbar-brand { + width: 50%; + } + .navbar-brand > img { + max-width: 100%; + } + .navbar-toggle { + margin-top: 20px; + border: 0px; + } + .navbar-default .navbar-toggle .icon-bar { + background-color: #fff; + } + .navbar-default .navbar-toggle:focus, + .navbar-default .navbar-toggle:hover { + background-color: transparent; + } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + padding-top: 10px; + margin-top: 15px; + } + .nav > li { + margin-bottom: 0px; + } + .navbar-default .navbar-nav > li > a { + padding: 15px 25px; + } + /* Hero Section */ + + .hero-caption { + left: -110px; + } + .hero-caption .sublead { + font-size: 20px; + margin-bottom: -10px; + } + .hero-caption .lead { + font-size: 40px; + margin-bottom: -10px; + } + .hero-caption .lead-text { + font-size: 14px; + } + /* Pricing Section */ + + .pricing-pill li { + padding: 10px 25px; + } +} \ No newline at end of file diff --git a/assets/css/style.blue.css b/assets/css/style.blue.css new file mode 100644 index 0000000..6d95000 --- /dev/null +++ b/assets/css/style.blue.css @@ -0,0 +1,700 @@ +/* +====================================== +Table of Contents +====================================== +- Basic Style + - Links + - Section Title Style +- Home Page + - Preloader + - Header Section + - Scroll Navigation Section + - Hero Section + - Feature Section + - Pricing Section + - Subscribe Section +====================================== +*/ +/* +------------------------------------ +- Basic Style +------------------------------------ +*/ +body { + background: #fffcf4; +} +/* Section Title Style */ +.section-title { + width: 100%; + height: auto; + margin-bottom: 90px; +} +.title-left { + margin-bottom: 40px; +} +.section-title h2 { + font-family: 'Raleway', sans-serif; + font-weight: 400; + font-size: 36px; + color: #696969; + letter-spacing: 0px; + margin-bottom: 0px; + margin-top: 10px; +} +.section-title span { + font-family: 'Raleway', sans-serif; + font-weight: 700; + font-size: 24px; + letter-spacing: 0px; + color: #7d4ccc; +} +.section-title span.small { + font-family: 'Raleway', sans-serif; + font-weight: 600; + font-size: 18px; + letter-spacing: 0px; + color: #7d4ccc; +} +.section-title p { + margin-top: 35px; + color: #212121; +} +.section-title-2 { + width: 100%; + height: auto; + text-align: center; + margin-bottom: 55px; +} +.section-title-2 h2 { + font-family: 'Raleway', sans-serif; + font-size: 36px; + font-weight: 400; + color: #212121; + margin-bottom: 30px; +} + +/* +---------------------------------- +- Preloader +---------------------------------- +*/ +.preloader-area { + position: fixed; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + bottom: 0px; + right: 0px; + background: rgba(255,255,255,0.95); + z-index: 1000000; +} +.preloader-inner { + display: table; + position: relative; + width: 100%; + height: 100%; +} +.preloader { + width: 60px; + height: 60px; + display: table-cell; + vertical-align: middle; + margin: auto; + padding: 0px; + text-align: center; +} +.preloader span { + position: absolute; + display: inline-block; + width: 60px; + height: 60px; + border-radius: 100%; + background: #000000; + -webkit-animation: preloader 1.6s linear infinite; + animation: preloader 1.6s linear infinite; +} +.preloader span:last-child { + animation-delay:-0.8s; + -webkit-animation-delay:-0.8s; +} +@keyframes preloader { + 0% {transform: scale(0, 0);opacity:0.5;} + 100% {transform: scale(1, 1);opacity:0;} +} +@-webkit-keyframes preloader { + 0% {-webkit-transform: scale(0, 0);opacity:0.5;} + 100% {-webkit-transform: scale(1, 1);opacity:0;} +} + + +/* +---------------------------------- +- Header Section +---------------------------------- +*/ +.navbar-area {} +.navbar-default { + /*background: rgba(167,193,198,0.45);*/ + background: rgba(1,1,1,0.8); + border-bottom: 1px solid rgba(255,255,255,0.3); + min-height: 110px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.navbar-default .navbar-nav > li > a { + color: #fff; + padding: 40px 25px; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:active, +.navbar-default .navbar-nav > li > a:focus { + color: #7d4ccc; + text-decoration: none; + outline: 0; +} + +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:focus, +.navbar-default .navbar-nav > .active > a:hover { + background: none; + color: #7d4ccc; + position: relative; + z-index: 1; +} +.navbar-default .navbar-nav > .active > a:after { + content: ""; + position: absolute; + width: 100%; + height: 5px; + background: #7d4ccc; + top: 0px; + left: 0px; + z-index: -1; +} +.navbar-right, .navbar-nav > li { + margin: 0px; +} +.navbar-dark { + background: rgba(1,1,1,0.9);} + + +/* +---------------------------------- +- Hero Section +---------------------------------- +*/ +.hero-area { + width: 100%; + height: 100vh; + background: #F4F4F5; + position: relative; + z-index: 0; + overflow: hidden; +} +.tab-carousel-area { + position: relative; + width: 100%; + height: auto; +} +.tab-carousel-inner { + position: absolute; + top: 0px; + right: -30px; + width: 100%; + min-height: 700px; + background: #FFFCF4; + z-index: 10; + padding: 250px 70px 190px 40px; + overflow: hidden; +} +.tab-carousel-box { + position: relative; + width: 100%; + min-height: 310px; + background: #fff; + -moz-box-shadow: 1px 10px 72px -15px #ddd; + -webkit-box-shadow: 1px 10px 72px -15px #ddd; + -ms-box-shadow: 1px 10px 72px -15px #ddd; + -o-box-shadow: 1px 10px 72px -15px #ddd; + box-shadow: 1px 10px 72px -15px #ddd; +} +.tab-slide { + position: absolute; + width: 100%; + height: auto; + top: -90px; + right: -210px; + z-index: 10; +} +.tab-slide .item { + width: 100%; + height: auto; + text-align: right !important; +} +.tab-carousel-caption { + width: 50%; + height: 100%; + padding: 85px 20px 40px 50px; + position: relative; +} +.tab-slide .owl-dot { + background: #ededed; +} +.tab-slide .owl-dot.active { + background: #662d91; +} +.caption-title { + color: #7d4ccc; + font-size: 38px; + margin-bottom: 0px; + font-weight: 700; +} +.caption-subtitle { + color: #7d4ccc; + margin-bottom: 20px; + font-weight: 700; +} +.app-icon { + position: absolute; + width: 73px; + height: 73px; + top: -20px; + left: 45px; + z-index: 10; +} +.hero-caption { + position: relative; + width: 100%; + height: 740px; +} +.hero-caption-inner { + position: absolute; + width: 100%; + height: auto; + bottom: 50px; + right: -80px; + z-index: 11; + transform: rotateZ(-90deg); +} +.hero-caption-inner .lead { + font-family: 'Raleway', sans-serif; + font-size: 120px; + font-weight: 300; + color: #212121; + margin-bottom: 0px; +} +.hero-caption-inner .sublead { + font-family: 'Montserrat', sans-serif; + font-size: 48px; + font-weight: 700; + color: #662d91; + margin-bottom: -20px; + display: block; + padding-left: 85px; +} +/* +---------------------------------- +- Feature Section +---------------------------------- +*/ +.feature-area, +.single-feature-item { + width: 100%; + height: auto; + cursor: pointer; +} +.single-feature-item { + margin-bottom: 80px; +} +.single-feature-item h4 { + font-size: 20px; + margin-bottom: 20px; +} +.single-feature-item.active h4 { + color: #7d4ccc; +} +.single-feature-item p { + margin: 0; +} +.single-feature-slide { + width: 100%; + height: auto; + text-align: center; + overflow: hidden; +} +.single-feature-slide .tab-img { + display: none; + margin: auto; +} +.single-feature-slide .tab-img.active { + display: block; +} +/* +---------------------------------- +- Pricing Section +---------------------------------- +*/ +.pricing-area { + width: 100%; + height: auto; +} +.pricing-content p { + font-family: 'Montserrat', sans-serif; + font-size: 18px; + font-weight: 300; +} +.pricing-content p.fade-text { + font-weight: 400; + color: #8c8f94; +} +.pricing-content p.fade-text a { + text-decoration: underline; +} +.pill-title { + font-weight: 600; + font-size: 16px; + color: #26272d; +} +.pricing-pill { + margin: 10px 0px 80px 0px; + padding: 5px; + list-style: none; + width: auto; + height: auto; + display: inline-block; + border: 1px solid #d5d6d7; + -webkit-border-radius: 35px; + -moz-border-radius: 35px; + -ms-border-radius: 35px; + -o-border-radius: 35px; + border-radius: 35px; +} +.pricing-pill li { + display: inline-block; + margin: 0px; + padding: 10px 30px; + cursor: pointer; + font-weight: 700; + font-size: 16px; +} +.pricing-pill li.active { + background: #fff; + -webkit-border-radius: 35px; + -moz-border-radius: 35px; + -ms-border-radius: 35px; + -o-border-radius: 35px; + border-radius: 35px; + color: #26292c; + -webkit-box-shadow: 0px 0px 20px 0px #e7e7e8; + -moz-box-shadow: 0px 0px 20px 0px #e7e7e8; + -ms-box-shadow: 0px 0px 20px 0px #e7e7e8; + -o-box-shadow: 0px 0px 20px 0px #e7e7e8; + box-shadow: 0px 0px 20px 0px #e7e7e8; +} +.pricing-table, +.pricing-list { + margin: 30px 0px 0px 0px; + padding: 0px; +} +.pricing-table li { + display: inline-block; + width: 49%; + background: #ebebed; + padding: 40px 15px; + text-align: center; +} +.pricing-table li .lead { + font-family: 'Raleway', sans-serif; + font-size: 32px; + font-weight: 400; + color: #26272d; + margin-bottom: 30px; +} +.pricing-table li .price-tag { + display: inline-block; + border: 1px solid #d4d4d5; + width: auto; + height: 30px; + border-radius: 30px; + text-align: center; + line-height: 25px; + padding: 0px 15px; + margin-bottom: 50px; +} +.pricing-table li .sublead { + font-family: 'Raleway', sans-serif; + font-size: 20px; + font-weight: 400; + color: #8c8f94; +} +.pricing-list { + width: 100%; + height: auto; + margin: 45px 0px; +} +.pricing-list li { + display: block; + width: 100%; + height: auto; + padding: 5px 10px; + text-align: center; + background: transparent; +} +.pricing-list li p { + margin: 0px; + font-style: 16px; + position: relative; + display: inline-block; +} +.pricing-list li p:before { + position: absolute; + content: ""; + background-image: url('../img/tic.png'); + background-repeat: no-repeat; + background-position: center; + width: 14px; + height: 10px; + top: 10px; + left: -20px; +} +.pricing-table li.active { + position: relative; + z-index: 1; +} +.pricing-table li.active:after { + position: absolute; + content: ""; + width: 110%; + height: 110%; + top: -5%; + left: -5%; + background: #fff; + z-index: -1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + -ms-border-radius: 15px; + -o-border-radius: 15px; + border-radius: 15px; + -webkit-box-shadow: 0px 0px 20px 0px #e7e7e8; + -moz-box-shadow: 0px 0px 20px 0px #e7e7e8; + -ms-box-shadow: 0px 0px 20px 0px #e7e7e8; + -o-box-shadow: 0px 0px 20px 0px #e7e7e8; + box-shadow: 0px 0px 20px 0px #e7e7e8; +} +.pricing-table li.active .btn-outline-blue { + background: #7d4ccc; + color: #fff; + font-weight: 400; + border-color: #7d4ccc; +} +.pricing-table li.active .btn-outline-blue:hover { + background: #7045b6; + border-color: #7045b6; + color: #fff !important; +} +/* +---------------------------------- +- Subscribe Section +---------------------------------- +*/ +.subscribe-area { + width: 100%; + height: auto; + background-image: url('../img/subscribe-bg.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + background-attachment: fixed; + position: relative; + z-index: 1; +} +.subscribe-area:after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background: #111; + opacity: 0.3; + z-index: -1; + top: 0px; + left: 0px; +} +.subscribe-area h4 { + font-family: 'Raleway', sans-serif; + font-size: 24px; + font-weight: 400; + color: #fff; + margin-bottom: 20px; +} +.form-subscribe { + background: transparent; + text-align: center; + border: 0px; + border-bottom: 1px solid #f9f9f9; + box-shadow: none !important; + color: #f9f9f9; +} +/* +---------------------------------- +- Download Section +---------------------------------- +*/ +.download-area { + width: 100%; + height: auto; + background-image: url('../img/shape.png'); + background-repeat: no-repeat; + background-position: bottom center; + background-size: contain; +} +.download-app { + width: 100%; + height: auto; + margin-top: 100px; +} + +/* +---------------------------------- +- Footer Section +---------------------------------- +*/ +.footer-area { + width: 100%; + height: auto; + padding: 80px 0px; + background-image: url('../img/footer-bg.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + background-attachment: fixed; + position: relative; + z-index: 1; + color: #fff; +} +.footer-area:after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background: #111; + opacity: 0.9; + z-index: -1; + top: 0px; + left: 0px; +} +.footer-area h1, +.footer-area h2, +.footer-area h3, +.footer-area h4, +.footer-area p, +.footer-area span, +.footer-area a { + color: #fff !important; +} +.footer-area a:hover { + color: #7d4ccc !important; +} +.footer-logo h2 { + font-size: 30px; +} +.footer-logo h2 span.thin { + font-family: 'Raleway', sans-serif; + font-size: 30px; + font-weight: 400 !important; +} +.footer-logo p { + font-size: 14px; +} +.footer-box { + width: 100%; + height: auto; + margin-bottom: 50px; +} +.footer-box h2 { + margin-bottom: 50px; +} +.footer-box h4 { + text-transform: uppercase; + margin-bottom: 35px; +} +.footer-menu { + padding: 0px; + margin: 0px; +} +.contact-content { + position: relative; +} +.contact-content h3, +.contact-content span.thin { + font-family: 'Raleway', sans-serif; + font-size: 24px; + font-weight: 300; +} +.contact-content p { + font-family: 'Raleway', sans-serif; + font-size: 14px; + font-weight: 300; + margin-bottom: 0px; +} +.social-icon { + padding: 0px; + margin: 25px 0 0 0; +} +.social-icon li { + display: inline-block; + margin: 0px; +} +.social-icon li a { + padding: 10px; + display: block; + width: 40px; + text-align: center; + border: 1px solid #fff; + margin-right: 10px; +} +.vr-title-area { + position: absolute; + width: auto; + height: auto; + top: 92px; + left: -90px; + -webkit-transform: rotateZ(-90deg); + -moz-transform: rotateZ(-90deg); + -ms-transform: rotateZ(-90deg); + -o-transform: rotateZ(-90deg); + transform: rotateZ(-90deg); +} +.download-link { + margin-bottom: 50px; +} +.download-link a { + font-size: 14px; +} +/* +---------------------------------- +- Copyright Section +---------------------------------- +*/ +.copyright-area { + width: 100%; + min-height: 70px; + padding: 25px 0px; + text-align: right; +} +.copyright-area span { + color: #696969; +} + + + + +/* +---------------------------------- +- +---------------------------------- +*/ +/* Your css code */ diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..fc8204a --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,686 @@ +/* +Template Name: Appsvision +Template URI: http://craftytheme.com/demo/html/appsvision +Author Name: Md.Rabiul Islam +Author URI: http://craftytheme.com +====================================== +Table of Contents +====================================== +- Home Page + - Preloader + - Header Section + - Hero Section + - Feature Section + - Pricing Section + - Subscribe Section +- Basic Style + - Section Title +====================================== +*/ + +/* +---------------------------------- +- Preloader +---------------------------------- +*/ +.preloader-area { + position: fixed; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + bottom: 0px; + right: 0px; + background: rgba(255,255,255,0.95); + z-index: 1000000; +} +.preloader-inner { + display: table; + position: relative; + width: 100%; + height: 100%; +} +.preloader { + width: 60px; + height: 60px; + display: table-cell; + vertical-align: middle; + margin: auto; + padding: 0px; + text-align: center; +} +.preloader span { + position: absolute; + display: inline-block; + width: 60px; + height: 60px; + border-radius: 100%; + background: #000000; + -webkit-animation: preloader 1.6s linear infinite; + animation: preloader 1.6s linear infinite; +} +.preloader span:last-child { + animation-delay:-0.8s; + -webkit-animation-delay:-0.8s; +} +@keyframes preloader { + 0% {transform: scale(0, 0);opacity:0.5;} + 100% {transform: scale(1, 1);opacity:0;} +} +@-webkit-keyframes preloader { + 0% {-webkit-transform: scale(0, 0);opacity:0.5;} + 100% {-webkit-transform: scale(1, 1);opacity:0;} +} + + +/* +---------------------------------- +- Header Section +---------------------------------- +*/ +.navbar-area {} +.navbar-default { + background: rgba(167,193,198,0.45); + border-bottom: 1px solid rgba(255,255,255,0.3); + min-height: 110px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.navbar-default .navbar-nav > li > a { + color: #fff; + padding: 40px 25px; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:active, +.navbar-default .navbar-nav > li > a:focus { + color: #74a9bc; + text-decoration: none; + outline: 0; +} + +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:focus, +.navbar-default .navbar-nav > .active > a:hover { + background: none; + color: #74a9bc; + position: relative; + z-index: 1; +} +.navbar-default .navbar-nav > .active > a:after { + content: ""; + position: absolute; + width: 100%; + height: 5px; + background: #74a9bc; + top: 0px; + left: 0px; + z-index: -1; +} +.navbar-right, .navbar-nav > li { + margin: 0px; +} +.navbar-dark { + background: rgba(1,1,1,0.8); +} +/* +---------------------------------- +- Hero Section +---------------------------------- +*/ +.hero-area { + width: 100%; + min-height: 100vh; + background-image: url('../img/bg.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + position: relative; + z-index: 0; + overflow: hidden; +} +.ball, .paper, .coffee, .plant, .glass { + position: absolute; +} +.ball { + top: 100px; + left: -30px; + z-index: -1; +} +.paper { + bottom: -65px; + left: -150px; + z-index: -2; +} +.coffee { + bottom: -255px; + left: -190px; + z-index: -1; +} +.plant { + right: 70px; + top: 35px; + z-index: -1; +} +.glass { + right: 75px; + bottom: 120px; + z-index: -1; +} +.mockup-slider-area { + min-height: 950px; + position: relative; +} +.mockup-slider { + position: absolute; + width: 100%; + height: auto; + left: 0px; + bottom: 200px; + z-index: 2; +} +.hero-social-share { + text-align: right; +} +.hero-social-share span { + color: #fff; + display: inline-block; + margin-right: 20px; +} +.hero-social-share a { + color: #fff; + display: inline-block; + width: 30px; + height: 30px; +} +.hero-caption { + position: absolute; + width: 100%; + height: auto; + top: 200px; + left: 100px; + padding-right: 50px; + z-index: 3; +} +.hero-caption .sublead { + display: block; + text-align: right; + font-family: 'Montserrat', sans-serif; + font-weight: 700; + font-size: 48px; + color: #fff; + margin-bottom: 0px; +} +.hero-caption .lead { + display: block; + text-align: right; + font-family: 'Raleway', sans-serif; + font-weight: 300; + font-size: 98px; + color: #fff; + margin-bottom: 0px; +} +.hero-caption .lead-text { + display: block; + text-align: right; + font-family: 'Montserrat', sans-serif; + font-weight: normal; + font-size: 24px; + color: #fff; +} +/* +---------------------------------- +- Feature Section +---------------------------------- +*/ +.feature-area, +.single-feature-item { + width: 100%; + height: auto; + cursor: pointer; +} +.single-feature-item { + margin-bottom: 80px; +} +.single-feature-item h4 { + font-size: 20px; + margin-bottom: 20px; +} +.single-feature-item.active h4 { + color: #8cbdcf; +} +.single-feature-item p { + margin: 0; +} +.single-feature-slide { + width: 100%; + height: auto; + text-align: center; + overflow: hidden; +} +.single-feature-slide .tab-img { + display: none; + margin: auto; +} +.single-feature-slide .tab-img.active { + display: block; +} +/* +---------------------------------- +- Pricing Section +---------------------------------- +*/ +.pricing-area { + width: 100%; + height: auto; +} +.pricing-content p { + font-family: 'Montserrat', sans-serif; + font-size: 18px; + font-weight: 300; +} +.pricing-content p.fade-text { + font-weight: 400; + color: #8c8f94; +} +.pricing-content p.fade-text a { + text-decoration: underline; +} +.pill-title { + font-weight: 600; + font-size: 16px; + color: #26272d; +} +.pricing-pill { + margin: 10px 0px 80px 0px; + padding: 5px; + list-style: none; + width: auto; + height: auto; + display: inline-block; + border: 1px solid #d5d6d7; + -webkit-border-radius: 35px; + -moz-border-radius: 35px; + -ms-border-radius: 35px; + -o-border-radius: 35px; + border-radius: 35px; +} +.pricing-pill li { + display: inline-block; + margin: 0px; + padding: 10px 30px; + cursor: pointer; + font-weight: 700; + font-size: 16px; +} +.pricing-pill li.active { + background: #fff; + -webkit-border-radius: 35px; + -moz-border-radius: 35px; + -ms-border-radius: 35px; + -o-border-radius: 35px; + border-radius: 35px; + color: #26292c; + -webkit-box-shadow: 0px 0px 20px 0px #e7e7e8; + -moz-box-shadow: 0px 0px 20px 0px #e7e7e8; + -ms-box-shadow: 0px 0px 20px 0px #e7e7e8; + -o-box-shadow: 0px 0px 20px 0px #e7e7e8; + box-shadow: 0px 0px 20px 0px #e7e7e8; +} +.pricing-table, +.pricing-list { + margin: 30px 0px 0px 0px; + padding: 0px; +} +.pricing-table li { + display: inline-block; + width: 49%; + background: #ebebed; + padding: 40px 15px; + text-align: center; +} +.pricing-table li .lead { + font-family: 'Raleway', sans-serif; + font-size: 32px; + font-weight: 400; + color: #26272d; + margin-bottom: 30px; +} +.pricing-table li .price-tag { + display: inline-block; + border: 1px solid #d4d4d5; + width: auto; + height: 30px; + border-radius: 30px; + text-align: center; + line-height: 25px; + padding: 0px 15px; + margin-bottom: 50px; +} +.pricing-table li .sublead { + font-family: 'Raleway', sans-serif; + font-size: 20px; + font-weight: 400; + color: #8c8f94; +} +.pricing-list { + width: 100%; + height: auto; + margin: 45px 0px; +} +.pricing-list li { + display: block; + width: 100%; + height: auto; + padding: 5px 10px; + text-align: center; + background: transparent; +} +.pricing-list li p { + margin: 0px; + font-style: 16px; + position: relative; + display: inline-block; +} +.pricing-list li p:before { + position: absolute; + content: ""; + background-image: url('../img/tic.png'); + background-repeat: no-repeat; + background-position: center; + width: 14px; + height: 10px; + top: 10px; + left: -20px; +} +.pricing-table li.active { + position: relative; + z-index: 1; +} +.pricing-table li.active:after { + position: absolute; + content: ""; + width: 110%; + height: 110%; + top: -5%; + left: -5%; + background: #fff; + z-index: -1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + -ms-border-radius: 15px; + -o-border-radius: 15px; + border-radius: 15px; + -webkit-box-shadow: 0px 0px 20px 0px #e7e7e8; + -moz-box-shadow: 0px 0px 20px 0px #e7e7e8; + -ms-box-shadow: 0px 0px 20px 0px #e7e7e8; + -o-box-shadow: 0px 0px 20px 0px #e7e7e8; + box-shadow: 0px 0px 20px 0px #e7e7e8; +} +.pricing-table li.active .btn-outline { + background: #8cbdcf; + color: #fff; + font-weight: 400; + border-color: #8cbdcf; +} +.pricing-table li.active .btn-outline:hover { + background: #74a9bc; + border-color: #74a9bc; + color: #fff !important; +} +/* +---------------------------------- +- Subscribe Section +---------------------------------- +*/ +.subscribe-area { + width: 100%; + height: auto; + background-image: url('../img/subscribe-bg.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + background-attachment: fixed; + position: relative; + z-index: 1; +} +.subscribe-area:after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background: #111; + opacity: 0.3; + z-index: -1; + top: 0px; + left: 0px; +} +.subscribe-area h4 { + font-family: 'Raleway', sans-serif; + font-size: 24px; + font-weight: 400; + color: #fff; + margin-bottom: 20px; +} +.form-subscribe { + background: transparent; + text-align: center; + border: 0px; + border-bottom: 1px solid #f9f9f9; + box-shadow: none !important; + color: #f9f9f9; +} +/* +---------------------------------- +- Download Section +---------------------------------- +*/ +.download-area { + width: 100%; + height: auto; + background-image: url('../img/shape.png'); + background-repeat: no-repeat; + background-position: bottom center; + background-size: contain; +} +.download-app { + width: 100%; + height: auto; + margin-top: 100px; +} + +/* +---------------------------------- +- Footer Section +---------------------------------- +*/ +.footer-area { + width: 100%; + height: auto; + padding: 80px 0px; + background-image: url('../img/footer-bg.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + background-attachment: fixed; + position: relative; + z-index: 1; + color: #fff; +} +.footer-area:after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background: #111; + opacity: 0.9; + z-index: -1; + top: 0px; + left: 0px; +} +.footer-area h1, +.footer-area h2, +.footer-area h3, +.footer-area h4, +.footer-area p, +.footer-area span, +.footer-area a { + color: #fff; +} +.footer-area a:hover, +.footer-area a:active, +.footer-area a:focus { + color: #74a9bc; +} +.footer-logo h2 { + font-size: 30px; +} +.footer-logo h2 span.thin { + font-family: 'Raleway', sans-serif; + font-size: 30px; + font-weight: 400 !important; +} +.footer-logo p { + font-size: 14px; +} +.footer-box { + width: 100%; + height: auto; + margin-bottom: 50px; +} +.footer-box h2 { + margin-bottom: 50px; +} +.footer-box h4 { + text-transform: uppercase; + margin-bottom: 35px; +} +.footer-menu { + padding: 0px; + margin: 0px; +} +.contact-content { + position: relative; +} +.contact-content h3, +.contact-content span.thin { + font-family: 'Raleway', sans-serif; + font-size: 24px; + font-weight: 300; +} +.contact-content p { + font-family: 'Raleway', sans-serif; + font-size: 14px; + font-weight: 300; + margin-bottom: 0px; +} +.social-icon { + padding: 0px; + margin: 25px 0 0 0; +} +.social-icon li { + display: inline-block; + margin: 0px; +} +.social-icon li a { + padding: 10px; + display: block; + width: 40px; + text-align: center; + border: 1px solid #fff; + margin-right: 10px; +} +.vr-title-area { + position: absolute; + width: auto; + height: auto; + top: 92px; + left: -90px; + -webkit-transform: rotateZ(-90deg); + -moz-transform: rotateZ(-90deg); + -ms-transform: rotateZ(-90deg); + -o-transform: rotateZ(-90deg); + transform: rotateZ(-90deg); +} +.download-link { + margin-bottom: 50px; +} +.download-link a { + font-size: 14px; +} +/* +---------------------------------- +- Copyright Section +---------------------------------- +*/ +.copyright-area { + width: 100%; + min-height: 70px; + padding: 25px 0px; + text-align: right; +} +.copyright-area span { + color: #696969; +} + +/* +------------------------------------ +- Section Title (Default) +------------------------------------ +*/ +.section-title { + width: 100%; + height: auto; + margin-bottom: 90px; +} +.title-left { + margin-bottom: 40px; +} +.section-title h2 { + font-family: 'Raleway', sans-serif; + font-weight: 400; + font-size: 36px; + color: #696969; + letter-spacing: 0px; + margin-bottom: 0px; + margin-top: 10px; +} +.section-title span { + font-family: 'Raleway', sans-serif; + font-weight: 700; + font-size: 24px; + letter-spacing: 0px; + color: #8cbdcf; +} +.section-title span.small { + font-family: 'Raleway', sans-serif; + font-weight: 600; + font-size: 18px; + letter-spacing: 0px; + color: #8cbdcf; +} +.section-title p { + margin-top: 35px; + color: #212121; +} +.section-title-2 { + width: 100%; + height: auto; + text-align: center; + margin-bottom: 55px; +} +.section-title-2 h2 { + font-family: 'Raleway', sans-serif; + font-size: 36px; + font-weight: 400; + color: #212121; + margin-bottom: 30px; +} +/* +---------------------------------- +- +---------------------------------- +*/ +/* Your css code */ diff --git a/assets/css/style.dark.css b/assets/css/style.dark.css new file mode 100644 index 0000000..f308120 --- /dev/null +++ b/assets/css/style.dark.css @@ -0,0 +1,736 @@ +/* +====================================== +Table of Contents +====================================== +- Home Page + - Preloader + - Header Section + - Scroll Navigation Section + - Hero Section + - Feature Section + - Pricing Section + - Subscribe Section + - Download Section + - Footer Section +====================================== +*/ + +/* +---------------------------------- +- General Style +---------------------------------- +*/ +/* +------------------------------------ +- Section Title +------------------------------------ +*/ +.section-title { + width: 100%; + height: auto; + margin-bottom: 90px; +} +.title-left { + margin-bottom: 40px; +} +.section-title h2 { + font-family: 'Raleway', sans-serif; + font-weight: 400; + font-size: 36px; + color: #fff; + letter-spacing: 0px; + margin-bottom: 0px; + margin-top: 10px; +} +.section-title span { + font-family: 'Raleway', sans-serif; + font-weight: 700; + font-size: 24px; + letter-spacing: 0px; + color: #f9f9f9; +} +.section-title span.small { + font-family: 'Raleway', sans-serif; + font-weight: 600; + font-size: 18px; + letter-spacing: 0px; + color: #f9f9f9; +} +.section-title p { + margin-top: 35px; + color: #fff; +} +.section-title-2 { + width: 100%; + height: auto; + text-align: center; + margin-bottom: 55px; +} +.section-title-2 h2 { + font-family: 'Raleway', sans-serif; + font-size: 36px; + font-weight: 400; + color: #fff; + margin-bottom: 30px; +} +/* +---------------------------------- +- Preloader +---------------------------------- +*/ +.preloader-area { + position: fixed; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + bottom: 0px; + right: 0px; + background: rgba(255,255,255,0.95); + z-index: 1000000; +} +.preloader-inner { + display: table; + position: relative; + width: 100%; + height: 100%; +} +.preloader { + width: 60px; + height: 60px; + display: table-cell; + vertical-align: middle; + margin: auto; + padding: 0px; + text-align: center; +} +.preloader span { + position: absolute; + display: inline-block; + width: 60px; + height: 60px; + border-radius: 100%; + background: #000000; + -webkit-animation: preloader 1.6s linear infinite; + animation: preloader 1.6s linear infinite; +} +.preloader span:last-child { + animation-delay:-0.8s; + -webkit-animation-delay:-0.8s; +} +@keyframes preloader { + 0% {transform: scale(0, 0);opacity:0.5;} + 100% {transform: scale(1, 1);opacity:0;} +} +@-webkit-keyframes preloader { + 0% {-webkit-transform: scale(0, 0);opacity:0.5;} + 100% {-webkit-transform: scale(1, 1);opacity:0;} +} +/* +---------------------------------- +- Header Section +---------------------------------- +*/ +.navbar-area {} +.navbar-default { + background: transparent; + border-bottom: none; + min-height: 110px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.navbar-default .navbar-nav > li > a { + color: #fff; + padding: 40px 25px; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:active, +.navbar-default .navbar-nav > li > a:focus { + color: #d31050; + text-decoration: none; + outline: 0; +} + +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:focus, +.navbar-default .navbar-nav > .active > a:hover { + background: none; + color: #d31050; + position: relative; + z-index: 1; +} +.navbar-default .navbar-nav > .active > a:after { + content: ""; + position: absolute; + width: 100%; + height: 5px; + background: #d31050; + top: 0px; + left: 0px; + z-index: -1; +} +.navbar-right, .navbar-nav > li { + margin: 0px; +} +.navbar-dark { + background: rgba(1,1,1,0.8); +} + + +/* +---------------------------------- +- Hero Section +---------------------------------- +*/ +.hero-area { + width: 100%; + min-height: 100vh; + background: #15181d; + position: relative; + z-index: 0; + display: table; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.hero-area:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + background-image: url('../img/dark-hero-bg.jpg'); + background-size: cover; + background-repeat: no-repeat; + background-position: center center; + opacity: 0.11; + z-index: -1; +} +.dark-mockup-slider-area { + width: 100%; + min-height: 100vh; + position: relative; +} +.dark-mockup-slider { + position: absolute; + width: 100%; + height: auto; + right: 0px; + bottom: 0%; +} +.dark-mockup-slide .owl-item img { + text-align: right !important; + margin-right: -8px !important; +} +.hero-caption { + position: relative; + width: 100%; + height: 750px; + display: table; +} +.hero-caption-inner { + display: table-cell; + vertical-align: middle; + width: 100%; + height: auto; + text-align: right +} +.hero-caption-inner .lead { + font-family: 'Raleway', sans-serif; + font-size: 120px; + font-weight: 300; + color: #fff; + margin-bottom: 0px; +} +.hero-caption-inner .sublead { + font-family: 'Montserrat', sans-serif; + font-size: 48px; + font-weight: 700; + color: #FF2549; + margin-bottom: -20px; + display: block; + padding-left: 85px; +} +.hero-caption-inner .lead-text { + display: block; + text-align: right; + font-family: 'Montserrat', sans-serif; + font-weight: normal; + font-size: 24px; + color: #fff; +} +.dark-mockup-slide .owl-dots { + position: absolute; + bottom: 280px; + left: -210px; + transform: rotate(90deg); + /*overflow: hidden;*/ +} +.dark-mockup-slide .owl-dot { + width: 15px; + height: 15px; + margin-right: 20px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.dark-mockup-slide .owl-dot.active { + background: #ff2549; + position: relative; + margin: 0px 30px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.dark-mockup-slide .owl-dot.active:after { + content: ""; + width: 40px; + height: 40px; + border-radius: 50%; + background: #ff2549; + position: absolute; + opacity: 0.4; + top: -13px; + left: -13px; +} +.vr-line { + display: block; + position: absolute; + left: -28px; + bottom: 30px; + width: 1px; + height: 90%; + background: #f9f9f9; + opacity: 0.2; + z-index: -2; +} +/* +---------------------------------- +- Feature Section +---------------------------------- +*/ +.feature-area { + background-image: url('../img/dark-bg.jpg'); + background-repeat: no-repeat; + background-position: center bottom; + background-size: cover; + background-attachment: fixed; + width: 100%; + height: auto; +} +.single-feature-item { + width: 100%; + height: auto; + cursor: pointer; +} +.single-feature-item { + margin-bottom: 80px; +} +.single-feature-item h4 { + font-size: 20px; + margin-bottom: 20px; +} +.single-feature-item.active h4 { + color: #ed145b; +} +.single-feature-item p { + margin: 0; +} +.single-feature-slide { + width: 100%; + height: auto; + text-align: center; + overflow: hidden; +} +.single-feature-slide .tab-img { + display: none; + margin: auto; +} +.single-feature-slide .tab-img.active { + display: block; +} +/* +---------------------------------- +- Pricing Section +---------------------------------- +*/ +.pricing-area { + width: 100%; + height: auto; + background-image: url('../img/dark-bg.jpg'); + background-repeat: no-repeat; + background-position: center bottom; + background-size: cover; +} +.pricing-content p { + font-family: 'Montserrat', sans-serif; + font-size: 18px; + font-weight: 300; +} +.pricing-content p.fade-text { + font-weight: 400; + color: #8c8f94; +} +.pricing-content p.fade-text a { + text-decoration: underline; +} +.pill-title { + font-weight: 600; + font-size: 16px; + color: #f9f9f9; +} +.pricing-pill { + margin: 10px 0px 80px 0px; + padding: 5px; + list-style: none; + width: auto; + height: auto; + display: inline-block; + border: 1px solid #d5d6d7; + -webkit-border-radius: 35px; + -moz-border-radius: 35px; + -ms-border-radius: 35px; + -o-border-radius: 35px; + border-radius: 35px; +} +.pricing-pill li { + display: inline-block; + margin: 0px; + padding: 10px 30px; + cursor: pointer; + font-weight: 700; + font-size: 16px; +} +.pricing-pill li.active { + background: #fff; + -webkit-border-radius: 35px; + -moz-border-radius: 35px; + -ms-border-radius: 35px; + -o-border-radius: 35px; + border-radius: 35px; + -webkit-box-shadow: 0px 0px 5px 0px #e7e7e8; + -moz-box-shadow: 0px 0px 5px 0px #e7e7e8; + -ms-box-shadow: 0px 0px 5px 0px #e7e7e8; + -o-box-shadow: 0px 0px 5px 0px #e7e7e8; + box-shadow: 0px 0px 5px 0px #e7e7e8; +} +.pricing-pill li.active span { + color: #212121; +} +.pricing-table, +.pricing-list { + margin: 30px 0px 0px 0px; + padding: 0px; +} +.pricing-table li { + display: inline-block; + width: 49%; + background: #ebebed; + padding: 40px 15px; + text-align: center; +} +.pricing-table li .lead-title { + font-family: 'Raleway', sans-serif; + font-size: 32px; + font-weight: 400; + color: #26272d; + margin-bottom: 30px; +} +.pricing-table li .price-tag { + display: inline-block; + border: 1px solid #d4d4d5; + width: auto; + height: 30px; + border-radius: 30px; + text-align: center; + line-height: 25px; + color: #212121; + padding: 0px 15px; + margin-bottom: 50px; +} +.pricing-table li .sublead { + font-family: 'Raleway', sans-serif; + font-size: 20px; + font-weight: 400; + color: #8c8f94; +} +.pricing-list { + width: 100%; + height: auto; + margin: 45px 0px; +} +.pricing-list li { + display: block; + width: 100%; + height: auto; + padding: 5px 10px; + text-align: center; + background: transparent; +} +.pricing-list li p { + margin: 0px; + font-style: 16px; + color: #212121; + position: relative; + display: inline-block; +} +.pricing-list li p:before { + position: absolute; + content: ""; + background-image: url('../img/tic.png'); + background-repeat: no-repeat; + background-position: center; + width: 14px; + height: 10px; + top: 10px; + left: -20px; +} +.pricing-table li.active { + position: relative; + z-index: 1; +} +.pricing-table li.active:after { + position: absolute; + content: ""; + width: 110%; + height: 110%; + top: -5%; + left: -5%; + background: #fff; + z-index: -1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + -ms-border-radius: 15px; + -o-border-radius: 15px; + border-radius: 15px; + -webkit-box-shadow: 0px 0px 5px 0px #e7e7e8; + -moz-box-shadow: 0px 0px 5px 0px #e7e7e8; + -ms-box-shadow: 0px 0px 5px 0px #e7e7e8; + -o-box-shadow: 0px 0px 5px 0px #e7e7e8; + box-shadow: 0px 0px 5px 0px #e7e7e8; +} +.pricing-table li.active .btn-outline-megento { + background: #ed145b; + color: #fff; + font-weight: 400; + border-color: #ed145b; +} +.pricing-table li.active .btn-outline-megento:hover { + background: #d31050; + border-color: #d31050; + color: #fff !important; +} +/* +---------------------------------- +- Subscribe Section +---------------------------------- +*/ +.subscribe-area { + width: 100%; + height: auto; + background-image: url('../img/subscribe-bg.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + background-attachment: fixed; + position: relative; + z-index: 1; +} +.subscribe-area:after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background: #111; + opacity: 0.3; + z-index: -1; + top: 0px; + left: 0px; +} +.subscribe-area h4 { + font-family: 'Raleway', sans-serif; + font-size: 24px; + font-weight: 400; + color: #fff; + margin-bottom: 20px; +} +.form-subscribe { + background: transparent; + text-align: center; + border: 0px; + border-bottom: 1px solid #f9f9f9; + box-shadow: none !important; + color: #f9f9f9; +} +/* +---------------------------------- +- Download Section +---------------------------------- +*/ +.download-area { + width: 100%; + height: auto; + background-image: url('../img/dark-bg.jpg'); + background-repeat: no-repeat; + background-position: center bottom; + background-attachment: fixed; + background-size: cover; +} +.download-app { + width: 100%; + height: auto; + margin-top: 100px; +} + +/* +---------------------------------- +- Footer Section +---------------------------------- +*/ +.footer-area { + width: 100%; + height: auto; + padding: 80px 0px; + background-image: url('../img/footer-bg.jpg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + background-attachment: fixed; + position: relative; + z-index: 1; + color: #fff; +} +.footer-area:after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background: #111; + opacity: 0.9; + z-index: -1; + top: 0px; + left: 0px; +} +.footer-area h1, +.footer-area h2, +.footer-area h3, +.footer-area h4, +.footer-area p, +.footer-area span, +.footer-area a, +.footer-area li a { + color: #fff !important; +} +.footer-area li a:hover { + color: #d31050 !important; +} +.footer-logo h2 { + font-size: 30px; +} +.footer-logo h2 span.thin { + font-family: 'Raleway', sans-serif; + font-size: 30px; + font-weight: 400 !important; +} +.footer-logo p { + font-size: 14px; +} +.footer-box { + width: 100%; + height: auto; + margin-bottom: 50px; +} +.footer-box h2 { + margin-bottom: 50px; +} +.footer-box h4 { + text-transform: uppercase; + margin-bottom: 35px; +} +.footer-menu { + padding: 0px; + margin: 0px; +} +.contact-content { + position: relative; +} +.contact-content h3, +.contact-content span.thin { + font-family: 'Raleway', sans-serif; + font-size: 24px; + font-weight: 300; +} +.contact-content p { + font-family: 'Raleway', sans-serif; + font-size: 14px; + font-weight: 300; + margin-bottom: 0px; +} +.social-icon { + padding: 0px; + margin: 25px 0 0 0; +} +.social-icon li { + display: inline-block; + margin: 0px; +} +.social-icon li a { + padding: 10px; + display: block; + width: 40px; + text-align: center; + border: 1px solid #fff; + margin-right: 10px; +} +.vr-title-area { + position: absolute; + width: auto; + height: auto; + top: 92px; + left: -90px; + -webkit-transform: rotateZ(-90deg); + -moz-transform: rotateZ(-90deg); + -ms-transform: rotateZ(-90deg); + -o-transform: rotateZ(-90deg); + transform: rotateZ(-90deg); +} +.download-link { + margin-bottom: 50px; +} +.download-link a { + font-size: 14px; +} +/* +---------------------------------- +- Copyright Section +---------------------------------- +*/ +.copyright-area { + width: 100%; + min-height: 70px; + padding: 25px 0px; + text-align: right; +} +.copyright-area span { + color: #696969; +} + + + + +/* +---------------------------------- +- +---------------------------------- +*/ +/* Your css code */ diff --git a/assets/css/typography.css b/assets/css/typography.css new file mode 100644 index 0000000..9be5bd0 --- /dev/null +++ b/assets/css/typography.css @@ -0,0 +1,261 @@ +/* +Table Of Contents +========================= +- Default Typography +========================= +*/ +/* +-------------------------- +- Default Typography +-------------------------- +*/ +h1, h2, h3, h4, h5, h6 { + margin: 0; + font-family: 'Raleway', sans-serif; + font-weight: 700; + color: #696969; + letter-spacing: 0px; +} +.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 { + margin: 0; + font-family: 'Raleway', sans-serif; + font-weight: 700; + color: #fff; + letter-spacing: 0px; +} + + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + font-weight: inherit; + font-family: 'Montserrat', sans-serif; +} +h1 { + font-size: 36px; + line-height: 70px; + letter-spacing: -1px; + margin-bottom: 20px; +} +h2 { + font-size: 32px; + line-height: 40px; + margin-bottom: 20px; +} +h3 { + font-size: 24px; + line-height: 30px; + margin-bottom: 20px; +} +h4 { + font-size: 18px; + line-height: 27px; +} +h5 { + font-size: 16px; + line-height: 24px; +} +h6 { + font-size: 14px; + line-height: 24px; +} + +p { + margin: 0 0 20px 0; + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #3c3c3c; + letter-spacing: 0px; + line-height: 28px; +} +.dark p { + margin: 0 0 20px 0; + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #f9f9f9; + letter-spacing: 0px; + line-height: 28px; +} +p img { + margin: 0; +} +span { + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #3c3c3c; + letter-spacing: 0px; + line-height: 28px; +} +.dark span { + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #f9f9f9; + letter-spacing: 0px; + line-height: 28px; +} +/* em and strong */ +em { + font: 15px/30px; +} +strong, +b { + font: 15px/30px; +} +small { + font-size: 11px; + line-height: inherit; +} + + +/* blockquotes */ +blockquote { + margin: 10px 0px; + padding-left: 40px; + position: relative; + border-left: 0px; +} +blockquote:before { + content: "\201C"; + opacity: 0.5; + font-size: 80px; + line-height: 0px; + margin: 0; + font-family: arial, sans-serif; + position: absolute; + top: 30px; + left: 0; +} +blockquote p { + font-family: 'Raleway', sans-serif; + font-style: italic; + padding: 0; + font-size: 18px; + line-height: 36px; +} +blockquote cite { + display: block; + font-size: 12px; + font-style: normal; + line-height: 18px; +} +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, +blockquote cite a:visited { color: #8B9798; border: none } + +/* abbreviations */ +abbr { + color: #444; + font-family: 'Montserrat', sans-serif; + font-weight: 700; + font-variant: small-caps; + text-transform: lowercase; + letter-spacing: .6px; + +} +abbr:hover { cursor: help; } + +/* links */ +a, a:visited { + text-decoration: none; + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #8cbdcf; + letter-spacing: 0px; + transition: all 0.3s ease-in-out; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + outline: 0; +} +a:hover, a:active, a:focus { + color: #74a9bc; + text-decoration: none; + outline: 0; +} +/* Blue Version */ +.blue a, .blue a:visited { + color: #7d4ccc; +} +.blue a:hover, .blue a:active, .blue a:focus { + color: #7045b6; +} +/* Dark Version */ +.dark a, .dark a:visited { + color: #ed145b; +} +.dark a:hover, .dark a:active, .dark a:focus { + color: #d31050; +} + +p a, +p a:visited { + line-height: inherit; + outline: 0; +} + + +/* list */ +ul, +ol { + margin-bottom: 24px; + margin-top: 12px; +} +ul { + list-style: none outside; +} +ol { + list-style: decimal; +} +ol, +ul.square, +ul.circle, +ul.disc { + margin-left: 30px; +} +ul.square { + list-style: square outside; +} +ul.circle { + list-style: circle outside; +} +ul.disc { + list-style: disc outside; +} +ul ul, +ul ol, +ol ol, +ol ul { + margin: 6px 0 6px 30px; +} +ul ul li, +ul ol li, +ol ol li, +ol ul li { + margin-bottom: 6px; +} +li { + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #3c3c3c; + letter-spacing: 0px; + line-height: 18px; + margin-bottom: 12px; +} +ul.large li { } +li p { + font-family: 'Montserrat', sans-serif; + font-weight: 400; + font-size: 16px; + color: #3c3c3c; + letter-spacing: 0px; + line-height: 18px; +} + +/* definition list */ +dl { margin: 12px 0; } +dt { margin: 0; color:#11ABB0; } +dd { margin: 0 0 0 20px; } diff --git a/assets/fonts/FontAwesome.otf b/assets/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..681bdd4d4c8dddbaeb4d4f2a1f58c38cad92afe0 GIT binary patch literal 106260 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�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 literal 0 HcmV?d00001 diff --git a/assets/fonts/fontawesome-webfont.eot b/assets/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..a30335d748c65c0bab5880b4e6dba53f5c79206c GIT binary patch literal 68875 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

7r8$?kb-D3z%-c} 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 F002TuuHFCu literal 0 HcmV?d00001 diff --git a/assets/fonts/fontawesome-webfont.svg b/assets/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..6fd19ab --- /dev/null +++ b/assets/fonts/fontawesome-webfont.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/fonts/fontawesome-webfont.ttf b/assets/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d7994e13086b1ac1a216bd754c93e1bccd65f237 GIT binary patch literal 138204 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/fontawesome-webfont.woff b/assets/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6fd4ede0f30f170eecb4156beb7235bf01fff00b GIT binary patch literal 81284 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äY>7uxS6S37IVP_>DW-kg%dn+sFHLnFhvXTU%&ox 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 ZUtABnb?tu62nVk>KX+wfW(Hek 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/fonts/glyphicons-halflings-regular.ttf b/assets/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b GIT binary patch literal 45404 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/assets/fonts/glyphicons-halflings-regular.woff2 b/assets/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/assets/img/amazon-store.png b/assets/img/amazon-store.png new file mode 100644 index 0000000000000000000000000000000000000000..d5908dc7e37aa1b04f02207fea42691b29c2b0ee GIT binary patch literal 4229 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 literal 0 HcmV?d00001 diff --git a/assets/img/app-store.png b/assets/img/app-store.png new file mode 100644 index 0000000000000000000000000000000000000000..91cbf687b20a4484cf795a5001d5e54dae52c50b GIT binary patch literal 3511 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 W3)+fm&%fFEmBJcZVQNl$#r+TO2^KQ| literal 0 HcmV?d00001 diff --git a/assets/img/ball.png b/assets/img/ball.png new file mode 100644 index 0000000000000000000000000000000000000000..c547c3ba559481fa91bca8b309dda33f85c96720 GIT binary patch literal 14589 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%0Dl+w<|0oD~ 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 literal 0 HcmV?d00001 diff --git a/assets/img/bg.jpg b/assets/img/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..42bf1194f29b698e69eba51e86baec97e35b247b GIT binary patch literal 235240 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 z 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

4E1(OQH2N# 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%0AZxS0ZHRrt+%jg$ZsFf?e`%_P-lCvn(o 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� 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

|Y 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 BgWLcB literal 0 HcmV?d00001 diff --git a/assets/img/coffee.png b/assets/img/coffee.png new file mode 100644 index 0000000000000000000000000000000000000000..56b9d46f5ca4a8ca6b33e80f3cbec909709c343e GIT binary patch literal 143988 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

?Owd! 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

3>n&O7H{f{B0_5df{8{U@NwT zyo3;rz`TIEQr@1UL91pCrFHC6?kdeWx&&qdafy% zm~t!qJ%+2|J9d;6E({BGi8g=&I%VL*X(p!NM#=8BqP(Am^5~MKio~qYJbc#ov<1yV zzCwOMSe2LBTnzyM=<_)Y2i zumeb+pH4lVM?-~`fX*Z}!)wjI&8Ebz-XHF`BEH%F$&Eo7M%diJ^Y-Eq=$90PX%0vw zZPgx^ng-w7Rs6(`E1r*@XhE%~F^#Y{!yaLWrenl9A>qh*5W!HY9m|K-oa-^UZ>5G} z5UDLG)ZAm#e|3HoYWCDSkMG3=`76qbn<3oA6Zv_3!%K;`gOyl4d7cW{Xl|lMC3mSo zi8Ul1>3_PV+*j2PvP%huu56sdH48Y_O;`ye-t0e4&YX!-{Ey0KUPkJmAgwqo08`@D z`hx|Z@A*(nc(ldpUL>ID_E7(DNV$(&>#|QUW9tjuCDZdazu|d-^tY*|#PUE-8{d?4 zYB!{dW8oJjNAJ%TO#HQ;WZ8pz0)l!*+3@V@dur|%#Aq@5kB!~xG=-UXe2_@&xQWvA zrX!cJ#DFu<(V!D$h}4zX*rLNN^Lx(ox7cQOk@a(}FQL)>Fv?qM;m94y39(hTUlYsg zmysk8&m5|gDhUt|8FaZfH{esH4Y?qUE0`W&c)|33W_ZecHyr0JVP`N>Wap!b4wt9| zT-3^(Mi!(Md>{4>>d?q^`|r4sx(_Mel0}O4AXVD4%D2M$3z`zQwz0bZGG{!jzzq#H&-5a+m{|R*&Atppm7m?= zpd#ja^JySgqK3={)-}zXxb?P|=BgbrR676FFLsPS8 z-|`olhu@r=6@(hKMu__;RCCSeEUJtN~nSxp2vCW|v@8KU$pxUw#8Wz0c{jf80MyUl2LpqkIt{$;*QG2m||3#u%MK)a5WJnBm zAlB5^R3kt6gS}|D@P`zp`fVbGwcSof2Pu>9K|qz1t^8~~dQa?ef`X<`*M1TIW&?i& zP0S&<>p8?jkcr<~CqSjLUHcQ?6v)%j7wAE4$HYdwFeqtAb8xtZ60n`i`a%(m$P_Eo zC>TBhygn0EiHbc@`%~6@z`sNGwX|+IHsRKKT?lW{50*OqV-Mr7O6g;Uq|RX5f!OY+ z*T3BGq0y~4WVVs8MJfKozF1~@b!>FgVXMe`tlIRL62-@bW6A}>SN{u`z3J8Zi!h{R z2_aG#u_*ER*!y9M4UFp%1Gne*AZ_#bW-!Z*duj!cgXY70-$6c`)T{;2^Z$t{-6UB} z1`jZS^M6&pppT}Ik{dcRsNyfBkS?|M{+%;yyDqJS&pZ-KET7dNdMq(m`y}}Hzzp0= zRnVn`k?~MEe!?+Q9j*diif;xxWAF#35{$R+ZGwc_`G~X}fC%$urRl&Skdo?G8g|u$ zg~AC!dT~~jaPv!;b=cC##q7@)vDiu+8d>83mO6gX&i08|w8)V?b_s4)u^~xs-e}J( zUYKO51cmO=Z6x>bzq$O(ZZ*j%_1@>Fn}nd`XUgNGXXc3+W97dJC?fbB9Y^WiT6Dqe zM+iN^F`>esFL5Wnl=da@H3QyFSk2F#8q(C66$MwY@+=%c)VxVxKeN79|RxvcNSvwg_bjra64P+ zj_vfd8otfcN!zuH>YE?zZ&nR#I%uIRiM3)PRluVf3j==|LmnTP7y4$MDKp~-PG{x~=r= z!2;eMKZ!QN)KFB3IRAhetcen745&+Yw+|R?W_+eWD1-}vs|yBMRSE0dM4}M@0-f?ygr3Ag8M}v$XH2IEmq-RVR=LNLdK>qvOUh&1xKXg~<#TCdXrsdxe zC49(Jdz-ZO0-^R))F}%iE3`m)l{+^m5#lrZy(%oxqfkzO^zwU9QK7cR3W3L9VZn>-La-I?4=}T>n}holEJ^*2^b!` zRhSHRYTBN;qm*`DwtcoxF47s@;Io9Mf{o2$wMt}bRFr^-vt}lDleVlqrN;KJu}|Xb z4tj+OZBdgGk^+^XE?Y%VGq2|;in@QDWZd=^ZL&{)X3l!^6Q7at@2zcbU?H*-qlsD} zK7Sefg?&y1uoul<@?@%ggS<`!nVY;N9l5;$8|=nh5BYEFi%F#@kcM+bDE>s(PW1kw zaV&`v^@Z6&M&&_tv*tBP?I!?!)>KkQLk5`c>k9^8|INL7a*Lk6!`7vINuiMXYd{va z4~+K!p=?S!98-|eucslUnP;y5&TW|5K)EIVg09E`YO1W8X-VsIp5fbh*W-2Pka}ig zRkw&Rn%eQ*P=%4=}EwA1|v(!99Flg%g3hT)ruU^4}9>*$5-+=Xsi!Bp7O;a5W z3}(4XsfU!Wf@^8_9NF$ehZJ*03V2}CL96P6yavDRihmFh3AVhOoy7E43P>+s#cD{L zq9lzl{x90UKF@#NObiY0K_EGI)P&;V7LTfGti@O`&|8D9_|?ytGNO>$w~0kgFx=@- z)>|pIe3Djf@)heti%BVGAse&q(#3aH>o(XS;%q|IpU?Rqo)1gPaYp^2>=*Jvk5ao= zZBGX39-nm1U{}b9>iG_lJ`zm}gRtx)cBF!OWasDA=RNNSx?`qC@Dy`!E#T>gc?|c5 zQkZPD7iyy%O8dMtq*_yuaW_8?=iSTL4MW^}H6KoRhTPUglY{-kJ(j&6O6-=jh0Mj% zPZef%v9wfc*R{UVYh%H4jyX~D3k=m59k8kgv%k~NDz>Vr$_kK>Rs~J3mO3;cVAq37 zCYW6A_00Lx}$7!X|D{n%ipaDkE*`?F3xT1GwGig^FFbobeBG>{?m51h(P`K zm{6jPi@gdcU3RwYEZU-**n8NpNaC;j_+wIN&%UCK_V4=MFV6omGc)0;yL_t}`7RnR zz?terM)~t%!qt7O%t*ndq5EOxaEVE^fP9jg^>}%^y91|PtJ9|| zG(K7s_ypZv$1w}8z=edhAHVhBw`Ss7aiuD~-9oBL;Qv8^4_}-9$GtS2 z)QDw?7_)K+S$~{Jtv8crXDh&&K=#DvJBq^S2XCzkEjT|`Uhu1e#i_M2^*`P!{te6E zSx=6`8w{m|hOsBU7t$&k{~FycDj9HHGa0@`P*`;{z8t72@+6CFir@+Umye=@p~xhR zL&gQAPe52m)64oEsk^O1zT{+3aG}suf+jUU<~BkrW18xvU(ky_eoM?hPazOu`zwqJ z5c~rX&=KKl%b~%lwp_v5d%=9LCGOsrA-axPpByB!9%<+WYVmhsYA3&`k!=EO`O^%;B&e6HVhE~XFLE2!W4y$p8)TEm zb0E?*!vpD|G``L#ITax58J2$#`p_N(37cPh-gwXdkWnAJ^A_bVEAS5_ziZdUZY43m zxQ9pmI@h5V9(chB$pH$Nw|*ee{*SH{i?KjMmHcS5>X#s=?6-@M>AQ6-EL*vH5`>ce zHJ$igvzDcIze>4Xi~rDJ9WLtUn#I&Nxe0RbfVT?y$(o9?Pd!@k(|EHTgBEjIHnd9R zb(&X?62CQV6Mxzlmf|2BNC|X!8p!F}a0-d)Vt-clQquVxZ3T#)8^et%Ma)5YZR=n0 zTYeh8Dt@j}Icvrx{D)QYHuQ!|3Kw3SS%e%R3G^XRbhxauRVB6bv@^^HU)xa5VK_*a z&g~nRWanwNnbCWoZQ)#X)Id(OwyD|5WHI!8I-FID()h1c$Mz{8D)!n` zzw-R}xA}g0K3;$S+w=BzG@gpJnFQ_>&z;_$`Au+IT0XPIUtrxpon5w{-gr22eQc)5 zk4^fm<$EmTeDqJK!NfKU+Yh_LL1M~6D*W-wxaVfA*+3F0*0=L6bx6 zY7ytYDr;+Rw3Xrxs`qZEZnIo9S3U6z+_Y(=|7J_dJcDODj3SN&E?}KVv~+cxNaCwTurv05TYZYxfCUN{+B7)Sbb%h zn#C^MuGEUwTyMWxpBr-RCh2jpW#D91>S^E){)#0+ed)#QNJP$zqm-fopN{!;qm+v& z73fd65d=9nF$US!E(a|XI2@kP+8l?#+OJ>R=+$;03Y)K;5FZZihaZMT4;|7;Q&q7n z!496s-1Vb6o-G4T!r2%2X+q?n5QkB853^l?<8iHgLw6B?HC~hFNdn;;BJ!n*&%sR> zrdS@B{_@`!K9z{cbrC^&nTxE7TB)D-Akq-mXusXgq8`4YFFb9NBP0HSjaFHr^pGdR z8o6glhEGa}mJt*sjE15!vnimB?+bv1AgQ{N!~-5*@nsJMR?~6)SVWTDMfkx|pfZk1 z3?3e&<-_{Xwc*dqaAvR(9wXg#kuZQ(sKVyu$pl`X=b9nh2e2;@@5QZR&IGBle;=!O zN=2;WgR-s}(fzI@C!8c17F|p=(!3Ksgi z45Jp^X$#Re!{wE?gSW{4s2JajETN*s`+wM~SnKv$rFvecYq04%YkP;=w!YlqZS+wa z9}6q3#%NRrHLJK`L+G48B1DoIn7O-#sl(wRF;JH8J$u#t1!OL2QD0q+kg{uaS2t$1 z>5v@k?mLN}$PH|Swc>uKuiroW&H6&G_0TiE+V{}#b3D1D@$y+u5cgF=y&&={^m3UR zND8O`Y#amzaPB2xDSMjFqlY##xOZ1M=ZqaMeNl|fUQ|(H*rP5V%2V_*0x_RNx;qHh zWcs14iBz}aG3MFPFNt%a9O@~cfU|r{3=9To{PaC&#{_|N)Wx~10V&RDUUOD*`od-B zF1FH-lKJ=bVu-1WAx!@bw4`iN#4RL{*k~$5a?3_t$rI3_%0hLkLm-yJ55Y2#{LZ+jxtZ>BKRxo72nEAs&Fcz95pf(J!@ zA=VamFrf#T-&M_gRMLZkWs|eK(v9<7EA&tx2%mX9me2G_Oeh)-gk2L2vICWaU}Jq> zd6(=5yFQ=$xAT=CRfzLTz_*x2YusSmhh0OLe4d{K!jr(6t5w6B!lNN-)fy9bzdFyH zHp4dn8E6>gzk6~ZI)SyJ(6DR&?^v#X<9!9LT+Q*4j3<3~+rcYI)vG&Ug*IMw(}~BA z&T@x5y3CAb;hw%5jjl^<##Nm2ZME)GenBcK!=#CXb>porjL$uQ2T-4%>S_rCDPU|R z%WL>45FjBj9P7XPAF_~O?-K#hSHWAdgp^|KcBDnq1QZuNs{Ra}=HS$&sQ~&D&+tq^ zvJ^xo9#y~Xo*oz(={Fye7#m55+@|oce(FRfO;SG(wLd8XB8IxY@-x9Htxn}PkI4WT1yc~=>t^I+MZ4Xa zPn@E6E=ZbO-AcTF<+wh3d3eel@z(dGpTMDq~xMvL1o=U~%VfarNC=Pgdi!XD#}iIWduW*xL$Jl~W1*ov?2eV*#7RCC(5mSIyf8 zU&R-Pc@G++-BxO)I@~{h>k9+*Z2ikI#|Ma2z^SiwA;BW|Ye~xVB1H*U%1*_mcydiP z=0tkE-?mb}TqL`+l>zu_2-gEM6GP?)0p_8RhrO$mu{>NsPHg;F(m~~bUmnm3*IQ@X zy2au0lm}O$u3mgA%1)A+I@iJPQR`UTi4 z(U$DNdFaUEJEm>vZD9)^J(iMvl94B%eTn0{y3~=3Vg5>B9W|0@d+CT*EMt4|v0L!I z1uU9yzycH?i8?XLy50_wVP@Wn8MwM+-GjBh;l1)A#va#=rKuHvt_ zZPE$yFVewRVT|cj>nH?jZm^!$4#C1Ga<~s#T|#^k#MsyKCg=^9f*boi{QxP~FUF%* zUBgaX;y)vTMxBkIEc)gNcyvtssToZ3t&EwOoPWsEj$cQ)tb`!D|9PgryzI`z%J_Ys zr-Zn_Fe^$)IUC$$U)Z57k_`*JOa_Lg+a;BWWs%?zx+u#P+Pz}#gb4zTc+@ITw&ekC zd6jxYc@yYg+MA3lj&_rqj={FL!>T6I+;NSTWEj~e9&4HBShg;RX$9CHte$$0s_PAL zM6&n~evhHyEGElBXt!!dw(t&KyInKJv{6!^fIogq*L`)N`l|G4b(t6B<2RbmmQ5dU z+&82HaM?y;x(zbo1?JOA((Y$b0)ifp<|`_IN2ZbLEG#3B{aCxNe&z)bF_7cEU%c|A zMbda#5jFB76z-u6!lak71V)2HBSn&;x2$NS`McrkJIc-TeFYUMD z-?J8H(`WH&8X9Cfed$kAY~0+?nYV8~zUtt$4RSR~VqN1uuvZFYIoxXAdP8a}xLi+-leul<;D{9}FAWC1docVioGLg30vsxQM?>uiCeo2zw zTmY~#F->`Fp1Jg$FBbpYFVf#MRO+(E?7x)ac`0WfvKMfP=|d zm{H0NhPTNBs|9L~c@2X4Omi21d;(PLuiGkxVP8#lB8+BOqaUr;z>>QxqF{G{@sU~0 zU5hz3u<1r*{6OLi$|6a;Nqu(Fk{{m}sezh-RP&&sgoSO|^MZfrrL+lM*m0K%d+L%k zK$2ZyC*%~c8V40WS=1-$)A!Wc^LU)8uQ~epdxE*Yugcjqmb!=!-W~%NZO_R~s3cLg zCBUvGdlGfk5hh%MNVXipebm4Tkjxj+a)S53DHf}odr2YgQu8_e9&GNGcOTIP^?gKL zfz(QJcwB8$;zUzu{`Z)B=EU>Dm_K2!_k$IZ7mta|c8j-&NmMAPJn5mLkWO{fM!eBH z=|2&g%_RXQ>A3PdhmGK1^Y+`t$0i{h)zpT7&0g+}dt`1UNwpw0Hu@Q-0yqG@`2oou zkcald8>hzs>(b=|^U4$dIwlkFTV(!&x_cL{PE4@SQOd40_rNmEPOrGl)v`?(f zkzKmktW`eWnm+pzFZ`E$VpPtV*|td26KvCSk35PQ0=htEJ^Qy8h?8JPKo|zv)ZY9Q za8?K&(9(IN30(oH!NlL=P8}(R1HsOXEb zfAEl=6A)}N^W0AsX7C%T>}Ja&)|Cdf+|&hMJJ{Mvo!{sr^Q~VK!!1fgPk^T!t!)W; z$0sg*wJ27uD4La^En^HpNIkfB&at`V7Y(?+qCtOB#GldWdy8%8wdAS7;FiD-p#LJQ z1COrnA%q2M%(yJ>(P8b4OuUim%Y*V+tqX4J(^fjdx4GCVuEn~d3+{>y{MTOyxnFW_E zU*%+xw+g;BDM0Ji#t$Vo4zTFkYb?aIGmDaMPs$BsoDiXX_tLQe&?x+@u}Tr01OeaW9PU(`fYj5LU=f`*oLHBV*DJ zxAH?DiTOO7K-ee%srP~s)$!)bEvL;9_c1229tK2RSd3$dQ9y2$p2c1wNWtW1qhy1j zo&cL-rel&xwFJ!UjHl4=FBASg)?75956y|!k7;?K6|PUDRoUs-G-3`e7eWifvL+@q z%vy(DiZQo0kx&~b4s@(@P0BX+=?S5=6q~T3^N6<|zn8_*4bDtK#-X-Z%Xpq2MR4k# z8d<~(yAX7N1W@Enx7hy}H2;=DZqjs875|^ZTPz@e5%3;c?gc8_go4LxnNZvS4&O^) z+h9rb!SEeGiT*=QYme(PDhgY7i6PkeFb?pou&xtJuIAzD=!Z>#uVh<#?2?npwSgz3 z=YwizvOlWl1?P`M3=0vvkY#FP?UqEIJba*c?Pq9*u=13sz0dfzKtgumSFOk;_ zR@-$TN4(IhNFr<%HfXPF(IdA*d_g?&iy}IKuB*YLUeH2{fPWt;=83y!J#bh4&eOZv z82AoA^lVL*J{?h>3EKCZGgO{+{NTdIUfG}kuX+{@s~Acui1_X{Ln`xN{`f|eYut_q z=3Rvu`r?}4Dei}yJO)$DmKXW}e>P8RFOIo017UF+#?}~z3<-A^)9*rR_I~pRtXSEl zskw97*NhYGuTE*(jS;MwF%AdXKd|2>6Gnqp^Dj&w4rGTdE*E@x2`_}sx29^W<|AeT zajG9TXe=IU2T}j+296f{P>cJA+Y3S|bnpw{hS#nHj1{GR>!L6|Dm(zK_^ZU0!k=H# zkU4e$!-~Vy)CNe}YW=q|09%D|*yX=p94j>~1;%112@Y_EN3Jb5Aak0?YcID_1)VqE zMx`&4FDWo>xgy{|#NOf(V(}&xC!{o#cntg7Td6l1a;aq6Zm0JIf5Bwm!A5;Akxi^F zn$=8qC>HiZH6SQx1C82fr13REif?n>k>EE?Sg7u1IP%AQGn?UQgARU(ApH_uEyV{Y=eZNo`N3tgb5^WkZac&LSbVm~O+%*Py6T!TCT`&bl*o<|ecUDk4$*sn+t zD-uO|z*O?a@6D7h^UO3wg>zhZA9b(w2TTRpQ1+^{`g~cwDEjlN=?hU!*PuZ<*_#Dm zINzdd{@n>{u6*_{j}&6z;@w4e7SLv&l6`F zoZ-}DT}XQxuj1e|kI+oRUIO?A-xFbCS=W4k;;K6eXk=xVI}`*7yV#(4w9xWlff=MP zGgMZ%mFxw-a*ZeyAO%?lU3Vpg*0SgPi#Xk095G93Ns|Kcl_v9yR{hIgG?aHbpCZ_&+H z6tU8*0UH@<>pi1CINz|T*WZxZk_|KqJ?MBy^tpX|a4tZ2njPw9)n3_HbGJ*W zfU+o%6nbM2=iYsN6iB&;VL%=z@+Dk~Fj%yaz+h3z=8sdoji=gTjWSPuBXqfpz7Sy8t)P9V440^sV>V+;!x(JPmXKi9beeE===L?eV@hO|DE)DEk* zGYXwoqdpjoX6p1kvnl4O^$t7Ng;YccJg}6P8>xmdWbeugd2eP(E#^uP;6l2UD*nXZ zn#NRDiSBETVMd-n;aSVuexcTPv!tSyf{4(??sGxoFp&-p&jfPOYG%^6lH~A>G_hhf zqXmEAxCE~*YE3c2-6I%%6>V!Wc!LP&PsWFW?M)X9>&DsZ##MKmUomg#49_oJ#x3lO zdpOB?27ht!>OL{gnlj6>ND47{7Ofw5H_Z|~{^RL7^~2pb>qU%AHo&5HkPrR7em`jJ zx}&JkO}OCXNEH{BHTJEEGJpl4^EM;BMmeBH2tu$oY-cETR4ln}%8X4VbU6Q^nFi9x z3_s)G^%tSrnmY}U6P1fVHK=|`>zc|U&^{`JI^TiH2rPJcEhjh=9JCBlMjNK4Q1Ot^ z`l_Sh?j{6ZcTuNQN}>NWS8M25H(P_#nF)B6{bQSM`$Kc>?r>t~)_F&m!MuMgYS+xaYfZjhu=B&5UQ=JAanqWLbco+<&Dpr%p0s$6oS1f5~S znr%lP%|_dcuX*j6PwvTFZ!PB++42#s&S5JFu$=(3g#bYUtN{9ve8Jxr z%O1@>H2#jDNS@(G?%a%!Ug7iRUfBXd5aI6ah#b zz;Z{Aip|Q0onNP#&#h{bx1K0@g#$yTqBfWX$7-ReK#?sw=%ZL7^x*k2N^=d0aOOv@ z?hxC+?ZBeLUYtMMQf|K;;HL@Vptp;!*9&l0)WP?BBQ4g_YW?fDbyuvd@jDwzv0a4r z-_etz88cGYwY}Vhrcmift?lj&tes%2y>HNvy0i&oX_p6 zhK1waBVqa#B+TOuIqM1I06Ytb(fvhwp`czOC^iL{JnOzXAcgV(w8eIU>z8^(7m3vv z_cCMrF6;|5fF?G8>}k{Kyu>HE=c|cT!?DCB>Qi0x23NS(SKJNWi7E8u+=L?mIX{m#7YZZ6T}j;qAbTx2tiQ&dn<&_Mx@*<A@Y@`TH)G+tQPq6W7mG^Hw+oeglR%iw0R6bE<#J(8uB>7;_c zmbd_b-WFz;#-YnitZRq+%`t}yuQ!FcZ#K_?*EOPHc&DgZ_oPN8#WXJ}hpm*syAkby z^t%QFvH43>*CSuL*~mLQT)zAb^daMC`5H%ADs3U@A^PI#(DL4u*NWWA@{w*>!DDAl zc78e@;e(1E7Hal16C8p(X%-hH^up?Z%M;=!HxH&BTt(89MJ}10CXG)9fA6>(77oIe zt!@WRWO{1r;MD@0Q|jQbPOx<9pc44;8=nMD^pr?h&QcLYa?FYt6wjkNM3>%R?k#>( zy+NFd9RTvj1^nZ{1Y##hF_I|P8+{>;QiZWmIs8H37^{!kER0OvMmdw`)4s7=)tTMY zf2xf7^NXpd7+}cwa-i5zsfA6BIJNr^rKq{-JUFLb3>v7G;l47S^SJ*}2t`aK)s7=-$HTk z_*enXL&Sooy=8da$3~kGZnjIBB=S>~c~5CcuZMV!gyT10_fIQWAHM^ZDLzy?ui-=N z5w3^K0EK>s5#}K372_72clEEIGNs5(7q%ICpM4L%{wpU4*<1Q&WD~n(*4}(;xK`=h z3R#)&y*+zQ@wxr$b6aq5E?YY;x*4x2b@jfuw)onC1TI^{ac$Y%EK-0I-N-cI*p2rc z5IV2-af+Fpq?2I2VYCAV2D9&yS>w7=7t^^u!U6ipA(n!b*7ME<-bVkGqwJfjm;kM? zv_oL=+Br9xuR*#a7d7%zUwnYSXxq>$4HU@3N(QxV`040 zmV8=7*Fo%-FVGf6+4Dr!P2&8|d@n?I`0Q}kd8w&rH{x4zR!(|R{VaI0Qc^r68`pZL z7Ixk!D-8Mma@#h$sC7k-&jHT{$YVo4NFw(b` zoLKD&tnr=TYl;D5f5f_DnDJRD*Wb9NgsS5C{jAzT`ky2(Ok7Ox)r~x)FM0+(iu}ku zNy<@nek`Z4SkkK2ysnkA^2CZku<6n<*5a5g`JgVT>fd}&S5T;R{#G|ADdMx{poT4Z z4YtU4qfM{O#S-~MHn+40>uFgL$J3l#yLtE8ldyRy zW;cJPR@;4iGYnZanf6o(3Lg6euXO|yTp48S8yBZ)k2^1JY+Z>i)J?v7ejXa%T%B|X zJ18EfIeDD)x$OaoW>Puf1@ zHn`q1FXn-n;-BM}6imEFATj6~;|&Zu@z#>Z^aYC9TD@=0*$qC|sL@O`qI9L5_~U0k zmLSl|a{YY}**qh0EK+h(-1=Ca)?0Euy>^iQ!_rqcG~K>mZ@>Tn36*XTMLMKgDMp|~F0Isaln zcQk2MWD@)LDMF&tIXY0_s4!MOBBHrxGq`TVk69ektOWhJB6XT8bl6i9KVglSf2}^$ zm7-gF^7zQGd1InkG7@A3Ng8akusy`cK(E(B05}h&>l@aEfZ4F&Hs(MCS7mZU#I|85?O0Xn6Y*M_nuR&7N*T^2w}MKxKUXP;=^fgqdQ5 zWq5!4wLhBKziTfeEDS$SvH&h#eqKe&2mXv<{OoH~a#*AEuX@bE+@?#qWYwjT$orI^ zdh#Jbb^hZI+bj_+4E4=&D+6)_%4F9R9-#RL!Qq>raxqS7o4S3LSJ|)pt>hu>JTZ}@ z1BiPsue!*rEC0MbQ?a5mhF;)x2aqY}DWm)LFnz^kj!6jpvcvq8qKp4FM4L&J8iDso z`y;yPYD&Lz+3H~$B@LLbu^H}Jg!BdK(s?rKvmQu?GXK|yg^UCI%$~o)Fg;*Z}Sz%5h*p)E>K?xZnnAl_w zmP?)hf*=aZ$m)p;##pLvI7z8x52wfroMMa9!%S_KoLpwHc)w!AcID|jo;n^Nd?hhp z_i(?U{o_bxIk75dQM*>QyFHIl(4%g1`I`>+q4Y+^>49e_mzBYU%M08g4x3t)cP$WddgoyENqnm}x zR82XJr+bU#UF2eMX- zZ$)oO>J3rx^CIOWvPH*PdXP0)e&y<`_LJowF}@nur$aNi-5=gw9Fg!0a}kHGnLCR? z@(Z8CtKWA^BUjo{92c%60n3bGr>W;Zx2tY=;=ke3h??t3CXOtmI4HBT|ESw#y4LBY zp}1P0u}dzkR#A%It!>n%KyagmzIL4OF#VLWMEoad&Ucb#POA+H<&QS(nXbPtHk8Jk ztKGIJ%{SdUD$KzYgvOgw9lx!~mufxD2ga34`RZAQpG6iQ3r)%-$})$53MMWK#!fUc zKIX4j6x~1^O7|p)jCNY?KYJ6loH^Ce)q}t7nU1hK^AE&J*_*JK7KSVWqSRQbW{1s7 zCKDV5D=^bBeTdsrvLzHAdiK>%I2A8z`pOLBC zoDbC(ZmwHXdzZAQnP+Ee)hZA!B!{l?I~`0)xDY5yJ|nJXYu8Vanfl~}T@%hDgPEGRV+ft6DSb>_NSKV&v_kp-0^GRvu8Nxw?na zYEQpM9!v%NSrRshB{BF4YMWMe3y!nLt_mw4z~3h19H0+*Nts z7mv+Ay|CzXaJU%zKTtzg#XM&QjfUgheaB^G_yw1kpBgoghetLXM^?V-N&h^dmU29# z-a`R*|B?(b68Psh26Yl)yDm^kg1@hna?D8ntv)MqeOnD9b+M-7)M;JcBgM&jlXRx8 z_I;S@Iy8}il9Um!1|3=w6>QshGaYDkt?-z**-A1XKt zGKDT!ZIbm=x&5UuT)VKcJ&Hm}2vi5<@3Xj)=Ya*J4+2rNWC3FS2LUODQm9m=+v{^G zj!n$twXu;v$74MFHT+wuZ2#fg{yf=7@Q7zW*cWd9n)-(BpfzOd3)P?~aK6g z2S8g;;~+4-s3|Iv0o80c(*IuKC*KA`4skIM%gxc^;7H;YIr>GdQpAtQW=-aq=b=Js zuo}SFpa!&*@IZt)mgLbuOh#zfP_b9A*rT3`U`1@I;?*G^u6onPqxU>Q(qkF+1F<_5;2xI&T==X#Tv! z&Vz|o&v?^3($ia)tOYIh65i-;obnMUcWSQ;22f9{dGQf0vT{*NG}skK!d9bNU(myT z{LN!OAT@j9kgp5%%pV19JbM|^iI-n}27N4gO0pq833#iG0IWSo0#0v0-L?}kmt*!( zo~n!CaW{KW7ZNI!t~Ug7=lks;F>m*!8D5%%QT+?zrl9 zVArB>SPa4@UgBD~3M$0ErJ}rG7PY@<|RHj=>r6gxP=vqphw(VE%$m*c5NJV&4Dbhmzlk}OL z{0^%m9?{XgbJ!5o3S?fU+7AB3YPYd!F@e@@>aij@5}I2CnVC9Nl6=uR*p&7M+aVb_ zpXxL=r-j__-$7s0OArp*T?(6JTQ>?77u4k@C0T&Zaj5pt!G~=1ls2V)e?O!kkVp}6Ds#W`ekaA%FC6~yS+qfPo`$b=GWA2=IXz#a>;w?Phq=?Q@2!y4NRhPm0NTz3G%A59F?H_+wtB3hQ@`Cyae*|7nI>Boo6JXH-n z5LL2i!%tjuHQ`PV=ZcKZ3S&Y&KH};ZBL`Rbn{)hqJKq90dx zdY=()eba;H0UYmB-kYma!v}u=7?HX zYC)=zL3_d*a@9&v-UGIv?+6}kiBUs8vFgnOxw${5^M69_#jD!kYXDugxwN7KfsX~D9D&N8B)^X~5yGH#ir0J_(}fuRO90a4tHy*pVW|K5 zgL-$$k~8SnF;7=ih%NRwhQpQ)Q6UQ?-s&V6C#d~qk|I9XR#w@N(Vj)NJ0%Sd9Gnu5 z8Cd1iOd3%YWA+cryfS<$zD@I3zj6q0cDxe<*x}NQA~>uR7xq-Rs&lGQ9#ZnmJGS;T zFPLph51r$d`0qN)gV)H`E;=k2*=jupHG|Gg7}4ycAu_u%tp)aB zqy)7ZH|;x`rLJ_D;p56h$ zJ7}|QPQk8JF;Zu>rMOCP!o`<|cNKXz7|28OCy0B%^B1^uM6$Tl-3IOqRyjF>JcVzm zHTQu{Pb)Jpuj6;#XZ8eUFl8ACM{h|IAZfoDP%4n?$yuBKwCPyo8=XwGFCN8x3k`E} z&>560z5atbxvCegjXBjhzo#xBng&qP@9pBIY|#Z+o!_dV_*z=m$ACQERE(HdMrx`I ziCrT3fL+&}idYh0wPd2%UFE9DhNQvo+`A-tiQLSA#OJw}*LKZ=WKIVcHvc^8A|gSJ z*ngaW>!QxsbY?ZC4#FJzonW!X@+aj5A4rLyGEVYPojFw8WG2pnZ2{x?a- zEYb9ga-8P*>kGV~1 z9Dt@Le1u8^HrPxB|B*Tp5F%6t1duhVI?30P^<+n$abpO4`N7&T>*vaDrj9joLAODE zoR*=(K9vUWWo`~jYo1P`$8Z6tzLLmKTi!v zBG+T~2fv^}eI9Sb4u;-dT&ueG!Tj~UFSwpte*g%># zDT|zYfs|clZ00;v?~JoY-M9Zng3Q0Xm`YNcqV!hhd$4M1nWXzj+hB97sytrySpe|o zVq0?~lS$~Lv!?t_&%UJmJ^!xgZ4)KZX0- zem##m5jt5DoP@oYt@s8BC%8@up$$;z`h~HHxDs^j==V5zN@(K*H=|$9myw*E_3;nO z0+?B7%^nR`3D+|^lj|*nrxH0p*s?0aZ9=7`fJwp1!LP)>@xkTzt6irj#*k@h`L@K9 z9_FB`C#4Z2Qu+wy8L?LW6rAv*=ujGS`y=iJK>1Rkezv_iP?+3`boRmDh)%X zR>GH}sHS<7ww-#MxL5-ia-07Ay_npZlLI4pRuyiHS*F#+=QF9_d^OD~jYgSM+VfoK@ z&WaYX5dj3(sWE+(sM?+U$tHBd8}QH1%08SnuOn52nLXzF+aD8@tBqw*_c7Z4Xf;@W zvf(&P%2rYio0Z7%%58)ZCbni-CP~H72j3t53hnUzxl8%P7)F<9M&ctWs})g8u@E7S zwUp@*w+>>|mzVUos(}pP;<`d>o-bPwF6n`J$e9cyiUGJH)t(&`f8Ab(vVd1yO3RAq zr7cy?BPa){hy%x@B7%+pD#&5Sv~%3u47R@N!rut4b$5tsl)fKR%}jxsmYpLC)Xn4L z)I_)QZ+w1=Ha+@k#g};Z;^)^xfcaFU6AQhSKT8x8EVe!Ct2(o!b3#i~rn$d;R$TAL zWLfZm%<3umvnI5HWNA9YB*%0cmvof86`h``j^8N2k+>tmof|Lj9(E;J8&M-=SF!*3nnPBoj=mJ==8h1^t(K`3?2=9cFeuta){&AV{KgU z`3$<#eXOW$fgrk|5-W0U7|~6+Vqp!Xf_@>;`XQO)S5_Wr5`iKh!a}F(rF~sq5Ru&bmD2FaUV4#$(qU{niWfBR0qaF z`8Wg8)e5B47yTODwW~clr8kQm(FYi_)fe1bFlxgZKnH#=s&p_A^sqQYv=BJNs$fwGa zTapjeXnzP^q#_7!IjS!v6Q-~L$2u`^$TCb=CnRsUPwLDvw>G|$)s0hoc+dZ zuuK6w)LuFb5ij>}jaYrTsY8lAruHs}N`2@G6jEA+9_h{X1FD!FV_P-q0=0MBpR@e( zJBoV>_f!oQb8q|FL-&5K<7_O$gSxlH*bH37Us=a@t=&!_ z&lG-$=bSC>_FhSG1H*?DxX7dyV@Gxr&F7Pv|CP-|j4jhg=OC_Gfg=!T9is?c+b@>L z>zvglczg}&VsVf~pJxY|D=h`hde6(4GM}U^@j2n?KZ+44&%)5+hdI~+Ur6XA^+>J{ zyz{o|RKa9qji^nKQq(Q_%Ysj9oM_GK#Gx~Dxdpu;XPyC~tu@~1nOj80tGAH{*Z|~r zVpBqc+dRL^QNK(5xj*+$Gd~<_+RZHCV*D;ScNu#$oi-Wu7os%?!bwIPTWnDOcc7(c-TRe_K{->ltfBsBfpuQ-B{NW2vdRKvQ@hbx zvzbcpf$h^CFc&o~q(gB%CA+PP+9hy3zw?=xpi#j>clHg%hCICrai&r7&7t(89GBFe zzb&BXxBuK|Sh+)V(d5i^%`aD$VE&ClQ=dqXmY+KoQk}wERv{4(%iCDL%c{%$u|VW8 zo`7OpI1j(D728%R`k?#p%g4fo{oq0sF7XR}VYW)EgXXUaMV;lK<+D6Kux{YTF5VBw zR8~U%ZI;NE37aK~t(>rGX~82`q-5rJeYd^3H)1-N)rowx53mAK2ioJIIG;`|=(7X6 zC7Pb1wQ1P+Q=&`P)npaurMO&rX1PYflplrRj-{pbBTL39M=4cUhNyVdHbmNO!ZOgL_&ydXhxdd|DO!{5Mh3Y!W*Dv^Di#voO z=$6W|dAxs}>Q20QRPtZ%Lk2xDk`C98s0lC6GyjIsC=qVFsV1m4vls!rrrh)sUX@YR zq{&uSE(KvKFMbg^#IV4Au04kan*188rGce5ObQnHJtmwel1rVRK*R8UZ;=+uo zt3uBlRyG5fvEBvi@4Dk{1~iI5`Ks9Q0n@MXI&7u+q#EU z(7*Dj22Lpqjeuixwf#v-IL)L8|Y0P>~xy5>F82Tj4d~ton-PGzY9?RmbW(K{TFm zj#TT;!6Xm1${|K8(CayBZa$3(vuLVh%JGs_F@E?>O{D z5SMq^Ya@Z2(`wn=Sb1iT!M69XVcN^7fXCX~dsp<{tXPEpW&BAly^6n7KcpHip;P~^2NF1E4kxpnecE_;MLCDAG{Dk>2-F5q_s8UIR{<{ z8S&OKoV|8xBsfKSj8!05Lu!DSj1k}C9da7%*1f?wX-5BaIJc0c)JKI)`pY$8+92$s zWD(@PA0Ah+J2`-&MUskkn!(h|IKFNr^S9=AeTTmp>5KMwOiJ_K?}22+fxOCBgp{ji zq2f@vS_oQNp8K4ycfmfo6__4^Xyb^7$5i470kv{U5*DGWUlaF|R-5lAvpklR=$iHwZJu zw$Ym(S-m6Nn!UQn2=K!;4%iw>6*t3$` z$~lP-Va1s|YIzZk2Rp#^gv%sJ7g;|<TF_ol1>PdJL?+eVj-sekj(wu_z2*8_HzVtmiV@ z{?cD`zUgDr>ldG&2SiZ(H{2vyBr+!7pedAlVh$##V|m}Xk+ZvDX@I;M<7kSf26 zrS2Gu`41DC`;(79`1p2Cfc*z!3(KCk&-=~k!XMD^LOC)ZwfKA9(@R0LZ2^bDJm$pR!M0$Yr-2B|ElTWl&WoSB`o z$eqF;vb%9m(1-~1w%G#ayK^cDrMacD2`m}zz7fXx91=cy_x7QSq)*B(uZq(-()c4M zYBD{Sdmr<4ebrE=99MxZA#W5M3cWWTi91mbZy~P zOn8yuI$kF7$eNz9g&L!fRD)vQH|B;~G#83HQF6zF%loyN1Sg309 z&KO(B{fA>(0c0}lf*h%WnorGgf6iTE@#;y7`9DfSR{1!ZXita(qEjP$7l6hop-~D; z19FC|_t{3B#QP)}KmPB~vv~!A%Bl9YmFD9g?~}vBcWCv+Ty$+Ff5aY)Z^$FSbU_fd zHPhCjGl<~_C-`KP(Rrbh6^9zjxvOL+Igz(I9^%@a=%^&HXVB#H(bsGo58 zV?;w<^7tH+CMl$vh?#)kXYB_mS2pu4abc#|Vsg%)LTV<`jPFqTA9TPHSKD^hVmX31 zNgM1Uo_wty@4+LwS#_yN;v0{tN^Z6BV!4bEV+9MdowsQN@!3yZh<2wgwjdATQ-N@s z+l-C=<%L6;h#o43Px{xEL9tWPINo~j?~b^Nlp+u17H$%~jsSC#;^VLNjsy>7{@;%y;oxo&waDf)pG0ZD5VFGDBx@Y&h{^1!Y^4xROcbhUJu&W*T3; zdmMQfV?1FXcFl)k&u+OoZc*~0&(k^y=C~>977=n~d#Q(ZlfZ${;{U+W`M(E=(Kre$ zOc~?57IN3;J*DS8+6jDyolkfC@3Bj~vZWf&OL7j%0!(SIcWO-?6Co+KLmyhB#(4!e zSbza{vBT|$zQEm-lJ`IfW99KC1az{j*eI~lflDjoa3U`7P%;S~I4K34ToaEfd8k9a zSa%3`X@bD6^vi@%h7Ed3)gygd4C1dI!tsZK$G?iBxe(mbbf_k@7@)+x zIXU{g7~tK~-~n^^vfk^@rM$PdoNJX!`+%TaGLlaD@cmRIltEk4%&FqJ{{0Y3ldeQOt0I2XGAA_*ww1E`e?Iw<(ti>y$3r5ECD1n0fFr|Q-bkMepK>bvyZ>NhLq2N z?fE&d>&0FAo#sqb$vNdnjo z;AmcjQV6(dB^lnFPDj*=h7>9ButR~55yS>TNvXw*iEgT58zzj zG-9P}qJlp|Li|3#k=@cgYR9?U)_WUmXYxe?+sQzsmvQun_v~chlDu1rl`O$r|&{;4_6S~ z^LOTFf~)kRU9Dd!0hcQ(ROkto&z308Da(JdX8QI0J~e(VWx+j7jq2u1$#wjcd8*?D z=l$>)9GjzwnHqXhmHcMow7Mb7yGCXyk844=&PIRHB3N}H1I`4!U zl%8vra^+C`4LKJsmCs+EAU@OL!nIY2Qo4oh$y{(${9?-Oo;)dgRCmRT+Cl8}5q0kB0j0Y}~2}u~j z9#?Ni0fQ~5T}BB;Fbt$`kC@$ilYVForPr)8NL>GL&7B<<4-=yRzNP@PVz_gzh9uYQ zK(oU>B3jGMPU;qtxZ$}!%yWN=@ii*CYht@>W~%zOKWU=l)?)4tUP7MVFoj&Mt=GC8 zhIXGLKz5}h`8hHv{rs;nldoyciAV9ld`#4fb$j=FI1mAAM={p-5G~gS9}pL&pKXy+ z1N0>x+Hth76nP~BB#=!x=@LB&EXJ<$>tc64cOe)E>(k}OecX@59Q=tlFFFc2*eVx3 z?)5_c-k=#2sBZ3sPTd=XOrNkyx~q%0^MJ-M%XEh(Uh8IDRb;8aS}-=x7i?(vRV9)0 zu0^MZ3{cEc6P5?MEgBQ!zcZZ@S+DWr`EI$$prHmOc3Zgc(MU!@yw}?ZF^uGTcWylWo1z0cM$*O zr84?xKtRg)ck9w{$_xcwpg!AFsX`yzpQP(AFIhTzjRCI9RAiv=tWs+Dl~RaVcbH|j zzop`Dz+c>DsM_lIf|GSKF(jXRGMlA-h5YgFzSnM@SI;Jh#5z_E<=GVy&D7t|s657F zEBE8egJJ6=1YVPErmQa&(#UpQF&A7mg+7AtC&X!BXaJ(tiZMeZO7suB|9USMJO9QR4 zqIAuCH^^KAn`Yy%#YAfi;r=lA&N71w1e@D-f!CC`G_)9n&H%SO=<@MsdT3yGhLy|p z1FXb@{N`}}ys&lP?k3<6l3?m~4}?^pV`|Fo;)8=Y;nga30YxhR4Kw$4yXpEoEuuGt zu%$W<`pVD|L|ZD8%;FSphZ5=09xbe~xX!a{yc`5?uAn6<5TX>R>XkVzOIPr$&HJd< zoNslb3Odg_-%=94s&G)yiCqWL7^=0#04$MByY2Vkzb%dA=;$vj6H1HjXC|$0Lw$(% zjl*JiK4X_eQzK^OppkWU%?;FsE_G9Z>+a|C`Zk#CTgL^|U#Xo!-Ey2ugYekdzJ-|k zV@b@v7W|rpeR0jY@=dDr!;Huip$txR0Q&M!qU^K?(oEe6dPqOQwftY@sEZf*E4PrU z4ey3Pq&w<%7CeGk6&OkFl0UQ)dRGMkE3$QCig;{tuee(m8IK$iMTP}-o&kJmmkV+; zoS?7XT6S3xky<5D=xDJ0JxdauDMYOlxNIgHfh1*H33US|?+^-Cz7r%oq)QXwa$bE; zxBCc;HiLYzc8rpTx5d7qar7EN<{Yp)dSMg+2;KD?+Xcv}5?jc5p}u)`1jAL|iuK33 z9EsB_0o0PP(D*Oct6DI++WKT|3?KjL z$Ga~ydN#x28n25GecX34p^Q^eoi1WMi=Lt`Ixzj+@pGni<8`tE%t+jq{wa(373+f3sSknUzs)_8hr`iF7+NdmeekN9 z&!Hdn5!J5VycLZgT+TTJ=Ao8m1C^`e!Sl6vX9KTTjvE#mHb(=65@+B8()xl?p~Y;i zcUfHm(wT|%6v20uOByelIH-|^_oU(9bn%i0l(bPx3EA?;m7x!&YRdPbMV_S9iCv4# z|A1+niS1BSR2)2651$on``vjsJnZ*6ay(Uj&y=t(#Kw?6By7mXG0~m=nHim^5PxgR z)q;)-KVbFmZ;MC&>T1V@2Ng?kq6-}-p=8*fMde$5_`Pp1WEnPXt zK$nWGvRl~k$BVM~X4mg>i*Oo8Qh&aCVvD|3fChBa=<8*FB0Bz5b@WVindE%|S)s92j{IeRQzo+)$@S*m|+dbr+_5+)!RV}M3kG7-RoiAm-A zr#i8OP{G_d()$+KmUZPdPHKTx2hgzJRW65)HJP=YGMg#i8)7+BspnG*A^zclIkvaQ zKm3~Du{ClTjf?*>j`4C0S#HBSPreZsgnVfy&2VHj8$z`qn{Eev00f-N9&*>6zzufx zTkLqllz#*-*1v!~Li#XO7P=SlKv?3Y*b^{^k)wVuMX40A`x|4SauiE-)yci{TOm-! zKPLRg?{zAr&|B8ngNU>wTjR$+N><;tw_0x~e+R`6t0$r)z1k)9hLQy=M2uaq{A&pn_NZKb(59z{oi>DJqN+jzQdpa|3M$NBMBU>D82B3=Z+zgV|>7 z@1C^}{K*aAZ)*E(04o5e!FGGgNmAbxdBQGpeeh;=k!n5Y9EgZmhPQyKAK4p-r2L~%_`*e3CO^Me8Usg_HA1pNA zktd(MfxCJ#)Uz&JEmE#7T*Z&uWFi+`y<(?)FlAqSw!Q&r2snxq_iuK+y`qd*hu?-! zDd9E}T}dPRr?aMfw3Q4I-kKifQC8aPcouy@D+T*P3oGNUQ0&WBeZOv--^ zBO_w~(IljMS(xYmQ7eo$NPd?PKUGgJn4hP3I5P=+O81LD_ucF^EUaSdE10#O2CU9^ zM<)`KC0-ho>Wc!jJUSEGT?J~>?C$p72I?a7o;z{bEwTKR;5W5nbTu|}tGl|FCZpfz zG3UvhU>0(dd_+mu>Li#tPcZ%R?IQ;URphizArf4%(Y3A7HeVoW! zfCxrojksh6F}~E@8Q{>vAJj_^Jmel97CvJ2yLuw})i|a%y756$06s$fv&ZKr>m^&32HpYz}y^ z1MfVD^!l(ErR@Uj{ANr2vWunYogaYEKks_i(*0oVm1H;6WvGMDRRy~qBBNd_N~-*A zEHL;UKtDS~FIKDW*!U^2Q?;p}nQdb^qjf0h%Mqs9psZ*<*x}o9i~71Bmrgd8mJue8 zZKl+I8DCtSlE3!o8zlYZsuJK+n+U{MgRgsdW0vt_Wa7v;=Z-i zB{fOx{wrEkO~LQUiAn*({)1GLG#JFG&b3*>xauJa+1#wnv#V9~Z)qMzeYdaM_K=)0 z`@Q@$c+rdQZiBs3 zn{9NkDle=tq3BXS3wIN*iESd-&xHQbPISd9Y8DL~rQRk=6GX;NL<7S-U;+LO`RaawUCn??qtDebu&rkj@ zlgPtcpBk-uv?fPg_AMPk+Zy&h`0+8Sbhve`5sTFe&dK`xs-$bYWetiqJ>t?Pehn!w zTxe&YhLt?s_b4Gt%2iyqBIil9seMY5e*BP)ZSlxSUUm`%`t9d`=1d$6KrHUiemdzK z?fORwnr7sD$1yg`sc5AXs~*QSaAq)AoMa{d{Ec5R;SiEdj6)Yb7eO|%d|5?ar@&AMQ&|r-FExm+IQ_YS zs%9r@_S33wXKmRmr$N%+6uh~^qP{fJE3%fv<~#Y$gHS%GOJu!Nhi&{NBD@jRd#KT& zjD8-VSf?z}k#aY5o3pY|MMUT$qJjM9*LLWCKqx-Q97Or4;^QLABh&%jzuHR?pTpih zQF5LA>I-aHY0A5TY<~^JACbA3L_)=`M=vV9?#g8&BG#|)$eSp8NJtTXlXWwJk5y#l z3C4qRFOqO**iTT}?}I`2(HcY2O5oDgIu}VEL7`WQtX!(sAL=js;#Na0c$9Taq>%>r zOq-W}K!TYJ*{IY0^P&opOmYY;`ev%UZiN!N^H<^7u#>NoA_UXJ|LotepTOje#0*&e z|B@Lu2q*5HsNKyT86rI663II=Y!tz7oso+g|`G2jy}^ zz?N%)(*(8vk%8_CkbRYg#Lj-P4g%ZDK}_z^`#DH{T3Q}^P;{TyTIyc!+pNw zCc)-a$6*QISqp&*_V9u*^l=3fsj+GAVLu(fq9b+9D}>SaQL@qCT(uC?4Hh{chS>e1 zU|LL8cmp|Uejg~Q@Aq4gjhnfu8OzC3eg})^9`SpZz%=$qFU4lucr6)V%Se5dBDqErQbF%sa& zAfud?^F112Z8FB`7L;k8pSpi;c8?UDJi!w6)IZe}qso9dOUylL0qt7(fHKJ-VbzoF zMIycbI6C}ZEQ>gY=k|HFLtLkwmVVvc6S0=YXi*;z7?j%+HnVIx9TTLHhQqtKrE-@9 z*%tjqv{UxWLJ~h6w8_N26b1Mvv2IM}ZQ@W5TaU@uyJ|-(hdy&F!hX|zNy&shK8%9;{U4kIYa3B;JLf_KTz?pEW8h>LtEZRM(*$bp7g;E z&tw6lnw*?af3sa3Y(S$t&Hc2fTpC5O-?jk-(34+ur8Lv}z$o}!4#1Ipi$Zcem1eD^ zVl(iwE3y?65?A z$l&{|SB(5s^{BPq?GA$(M5t^<$>VR*XVb!zq_Kpu8ZW6xJcFTyg*e6+iTeezQDRgV zv?`vmocvn1z~==Y9ZNObJAEkMu=;(mHMJlAH!l7yo`jBe+DNrQZeC1QNczirydO-I zthhFCAf|ydE_3y<1;V|?H&gB-0cL`c-s*Ytv&rX|74;6_Pn_mK=WoQ=j{M{{c&Q1D@mTGAo@vj1_gxX5ZOf97Jl(&u(B@)S9WqflMsy^QgHmLndE^*Bno!UojZ6O{P$D-= zHxN_9Bdw7XC?V$boBE@sM=?_If8Civ(r`go+piDBU3i1dX6&5p*L$8ra8DnrJ~|t) zn;buYt+yki!;E7Jy6W0cKK7LV?h$XqBIn^xypA(cy2l{E3?%8sEe4D!p%%vc`;;z0et=T004p3%uq$_ZReRyiEceWb4t zNIc=o=(I(NZ0_FdHg3Q#LgyTqa>u`CjQZ%M|9Sffe%S;5N3B_khc-av)#vq0z{f~{ zya`gO`#K@8jLo`rj?BBMpT+tY?K~`syp?>aLFVqv79Uk0sWM_Rdq;7Gg29NRCwPUQObuKR;NPz za3BqdX0XGnLDUao|GB>tdLy_cjt)sq)9_E3WgxiDRjI33pd$*npj6rnFtfepswL;A zBi^W;lnM%P=!_bn_^$`9dI$=*vCGMoHLAK0vKsf4y3B^@lo*JSN{6L5gA5^L6L0S&DdXKz!}@$11k>?(lTk8J1Nn z*XD8ZQU)dr)h#J?Oppnk*&RMnMlXFPr9+*Nd#ymTmR?;*R#^4!Ap%_20mO~u`1%cP z1d~bF_YK*<(&!VzZid;3V`-0F0VszK>CHvOc?1O2eD= z34SmoeLW5_VJn@qFJ|Z|YLU%1=AAYv*HN4qP$LTe&%99%sA z*(kK!NnyVyV=(-bd)YS6<*McV%p>VJzw%s211Osucv;GyIWQ-cI2O88V-hHO zWqarOmv^R2E+Mr!`I@~2=pn*nbTFT`;aTB5>a;itGmg=@9SIJjFHU9B^LSTndBOXt zT5Y63#gOp|oDk7<@Ze{xhe;#M#)|9fknfg>xRtp6q|v~|sisG)wT|mK*zw??E6DF+ zRlKtr%l>UE$iMZsyZR~q+od;e>_lW26O=vS;nJ&FN>Se_8Xm&H9Ss2m*O z*s*|w_yi!^Uq2dMh!1!cDb(%=_wb6#BA^_+41HJpLMWQ($<95{(Z?`5B6J5Jj%=$1 zu(d=Xb!G9CoB(3Y0Tm>eF4v4pR$HMLAB2yM7hTR&6%kdwHG9>15E&@>90|M~q0DSM zQ!XG3Va0obe_|rs{1>nxD-PkotT@Q0{a>=QC%(+SPL9;2N(&Z#?xJlvs-5X*T?Kq< zPu%_c&(kYua?hA-My%sS&uUAREwkL4wy0I9ZOGJ?5Umebc^3NZ*;SeN(Li2UFVJ2* zrrLns0Dc|>QH>hS7LbX2PTlDxkpUy_36H#NAq@Xib3j49vq0`kShk6yhp^OBU=b1o zc0K-e9S!q7pGl@ta~ESa(EL6UCl96UAt-~qfr5sQ(Hg9!`#tG+B@I5pxrrvJeh>bp z4a2^$83w>BO4%c?{~t}?;m`K_ejR(aMy;w^)v7(Js0v!6wMvP-YDMiCo1j{I)!wBP zk=T2yptjmEYt)V{i16s=`+NR_J9)kDbDis4*L}`mx`WtsU0U3%OROC34XG)Uc_W>9 zH$ifNu?+|IXDk)rj3N8jx6@ubSpfXhCiZ2DKF7>EVkq;$-Y^sT!1@l-cxm(8fvfW2 z{Og?Oxs5|f5dk*SD83@cm9*v=l8#i2_lCr_$KbF)ruruMVKwHZcC6;M^rD066RRnP z+PDS#S%(B(i&*mXTd9r^cbENkFZ9;bvnlx4F+NPM61e^Y*gVX<58-}dKFnN4;l#1l ziC87Qc2qXu1Aj;lAT&>64ds2H^E`G4FGni~pZGk3AdsHjM$U{LnDhEx5@7)mw3Z9q zXHS8kH#i`7=ZYZdtD9*3_Wemh(NeR9OHbm05cgM0!qNWG7Ggc}c!@8z`WU`Vr3am*Zr zzw*@hvUE#yZzW}~*h4*;)hpD#p%m5ffCndj5xEIp<72H`gWK2H09moA&qVHtkCMsG zND~qT@eG0ZcousQgQ-BJ9}5IkliBWYglg#2#Yk*#`o3TFo!u;7w5r2dhY@D?xFpft zgzO_TYb&(TmsqGVVfp6&04K-J_;;E0Uuo0of&$$XJRZKC;?bClGLrh!F4=wurC-B` zVk0hg(>@cvaoSfg0O`M1?+HcH$M{0a$`g-itW^wB%;*`;0No$(lkny*zDt_V6a3Cm zO+clXnB@Y@?Q&<%qb}u(cN<9FuyACW_$%QBK(Y;m(VV?pnM1i-p&fk}Wj#wf$h_@) zr5vTJjYfms^$2}M2kZkk4>VZJ)cwCIxLTsr-njuLKQ}jRplIlYFhaq>DTfct7Ad^- zCKnE{3l+d-Hu~w>ix_BDHsBPx^btf)%OL;hHif|d&m7?|3&mO$8_Q1k&_fvFyXoPR zWv}DY2asjJdWe)B`^ZCGJY~Naa%O@vvmM+WmywHbg{M2}?^eFQ7!s9WnmVkL{0=im zELuQvC!&=-dtB&(zzX$UsgeRVbL!MAV}(ljQ#Lnpu)d5h5UZx$w(P0vU;-Nrq9c180Fb->Zzc*(ooytK3zSIWqA ztzaIkY`5fxIoksYWpGbmm|#_y6ftpptAzpa#4LYI29@~^?2}rR0fDZ=Ko7;-=R^&9 zu)iW}RWhb6QP<$s3!`B6ahzw-Ea-CO$v>&2&--4-_46uy^1+H!MDl?SzMEVJA;IAw z^7~4S@HBofE1s*+fm@IH1~isD8xBgJWq_vtg(@_odFx2JAzyRsHSWr3ewlg>Q>)Iv zvoJSEAhCH}5}S%wf8UsG#8*4v@d!~7GkzV@(b(fRW)nDFn*BGBiM-m=vlfZUIMeJ< z@ajh_^Nfpmmbwh{O>iO^YZ!_~Rf#YTdb@ zFm1+%e{+ZAB1j%wc1vk*kcPuq!5IQR-LGy9`~r8ln*bMY%}H$C6ggB!XUikEDdJ zgMwwX$3p|!Pa4zy2g$3ZpEFF`*AyAIYPncm7ybeH&ffZS*Y@62bIw%SIw!5pye$O-cmUsH(pcUyi%G%4xE&8qe)xVj<-bRpYljC93ZpVzIhzZUSw!C`TsHK zRrD_?hS}as{|{KJx6J2BZXDpz*U5^{Qe1hG{qBg*n9rVTl>nbdct*R#)H<%bGT|qe zYINnsx-S8s2Y@A)jB~p?#g@==@)cz4q`iaAA8DMzlHLYcIJbf+SCL?NZa+{@UU;_l z5PCy8+RNz@_X*%`5+`7b9+p9c+Hcc1#be9Jk5Ge44n0A^2)d7*$2OlUtY04dA6JRe zE98>-!KD6{@+G@vA-Ux^FR`~gl)|3DTK*Gi{{PTq36dnq4 z@9_2-j^PH&uxlkKIHf<5ahNKKIK+2*r&Hb9_cezmsbmuF6LdgK3!s_TA% zZ2WCLr-^wYm% zvIWR}Jm#a}A2OIT-)Eu>N{M%D+i$=PKvm5zmeswb!=7Qe-`>gHgme8z>zT`eGf{Of z%m)MCz2#A|m!S}JfH;HY+$i3JWP@y%tEqZp8yUjcR_)jy=sxUB)KpQ@rqU{DFxA|Z z`cYA4OS4of=U+ro;&%Kr#GwQ4()5W*xwOEXmoDK#9`5*07G3!!{V*^TYDUylVBZJ0 zi^4|FoF4>-iW0PVcQW= zWL`M5Hp?2}4e)da&=Ep;2mvpDdOig_VDI%9q?%@7aSXyzzqaWa{Ei>2W@uGAbGDz5 z88Zz!H3k&F$w+n+jxT;THx^Ck7dLY9up+Fdw868e9?GeMhh-*}vXN>L;??#KO zpx1nUE7zrVWM%Jp=a63niC`kZVUfXWh9uv~_vTkk=>9#Bza8W!9P$FLEd6J_5v&Q8 z?`TGxCz(MXtKmi2AB*7uc|<}C^SgbAtU=DziFyasQ)*qBeJ}QwVzHO}fbE>3Y|raj zD?T@2JHiIo2+BrXOff-t8bJbWco(h6K2<9Ag=tc5z`kld=Hq%>fw67I>lZI+d#p?y zjO=ookFgrzo33VY3wf=?`m5fSqHN2)OXSwdhEKjest%C-->Ae&4ev5gd8c)ML(ckD ztC|cUG$$JkUhZXx6eKJuc+kbQeP8bFwY!`kvnU$WyiU&T-H8?|NXP#sSyyCP&#>eTK- znh{mjX{lh#ZjQrfDZdm?q2X^q{erL!= znpT!bZAYr;%-;UzC7}@W7Ch5pR0pfA60|zaYupy*Lxk>Mp;69!3STze7y|et(}2=- zDZWD_C*jJ1$}Ui@EZhh4MR%nmIU#JU%vm}!0ddQ$FUOf8-o zFUU2+=HLxa!a;ZlC)LAco9@o9cz8|N((NK6B5D$ibrUsJwjl+O=&%9CFx;;L-%3s* z^;N~YlxUt&$6mDwTliOO9(h+~M{Y1G!P02(ve!?dYCbDF?Do0ef0qJFp)2+m>e5(n z%-~s?-5QG{UaAGWX8rNv?hu|QXcvsWj02jCT#Xekz(B)@t6lcXYO_k z#2T>|lPm8KR@8`5F{Jqd5@|+=1@Z9lvU9!!zTS;vlNuScSu;A21`+&521 z(a?XlL}BwJtjK}W3>l~t`-tWsW6Z%%4o#}VKw|swrd71vl2r-5m+LqzX0tIH2x!tA z$8Y3PW9t?XD?FlU}= z&jOds5Z*v!U+L^UYeiIFT3P3De&o*RH|d*L%p$!;q1m?YGG$fduMM@wnGbFMM}pgI zTyr9uLlZLrEzBvHBZ2T{Sk(wRue#AwpGl;cxJJ)q=%_(`MD)G&?B1EO-w;utZi`yh zlgY9-Tb<1Wz-IS=C_up3{Bsw-p>!L?(u)M#9rq7f4B1-8Jlv<1SYY+Y!x^jI5q=%; zwh_687{)YaFb%YnU_awx$hP{+=l+U?^S&>`MouJoDqYKe#PUtvwV^2?PTUCtO3a>3 z$Dcfi#8Y_pJpb8h*~Qp->`btcXKdaMkw2KO@C$fxq2O7c;k(#VfTg_PxVBM#1wm@P z2Z`{lEl`66Fv@BDsg`{C#`o_CS@(m8972VAqZR1d( z&=}9L;o~~{)?WrR)?#v*czIy}RSG)@@h9;t8-KVmJMEVzEyuK+ zlC5aWHwlf+F0ejlw1|etoA2#rKDppMz*4RGasDTn6A%_K*S~{YGEcK}65vAil-Hoa zkC$t>9=q_Sevs=!ly{|me1?CNlQ6=QeS+^a*(>@-9eTSvL4g2kC?9nK0?44x2N-_F z-viyohT$i@Yu+e9dvc*~9otg#|I_Y9N)6J!Ct4 zT2W0dEpM7ZkOEICcn9rV+5MVmuTPsd|Ir2@z|y{P&qiq|V*>Z*)XnzJX3TwyO7~vl zq*A8dl0oyL(x2d7g)PLo>!_n}0ee=(N1HmZG3u)*t3 zJe|*spImRqcVJ~81@r~pv5Qj7_0@GOG(!pc>&{EDS=ZKMM-g-1M{Enw<<-kN z%q#^#8+y<;NE8}wd z-n&pU%7Ni}jPd5*ma19W$pj2@!;`k;MEWd-*VTa(4ohW^?0P=F^%SY=)p2I-{_&q5 z$1NL>enN_)cice4Zak2KXWTyp?21vy5hW#IDM+cU07-ak6b`#>deyNia;9`U_#Qub z=d$cyvJJ=y>oY8b$V<-Y0h*JCAFIEzHdWH?#12@=_BM2#ewMYIS~Miqtz>fq7}Q13 z4-^@_b1kpD$A^OBX>QXgz;f{->AmC1BxXk(q;s5F2|sl_G;%#lO^7C65RQ_1?fE51 zsg??w!+P+dMfa6U+z#qbQ<=kV)jVs(F!YLZ*ph4GX!E+;!T5MK>%Y&h^N=qJNG6BA ze2_ftQnt7>uqG85t9W4z+xIb79}@JYrK^pt9J@!%?o=H~|AXq&3%qe%3K@pqr9BGj zP$0#MJZVB|r7UgKW=p43uGY5_nQ7K}0u%Z>(`2tY%9J?dgbC#}Ej2Hy`PBV&ZbQ=? zhvJ1im*~GtK=21;-cR;5)^*P?{L($ps5kvq@2e~L)k?_s`FBN|{|3o^__1sRjo~lT z1_W{n+FS%dG$nXRDADY<{Qp=+6J;pGa;Gk zfDv|}nt!}N47e#J`m}u3`($iD+n-?;gJa@9bXc2-Y}mgPkcGXE{raDj_zTH5i*8JD zs+VV1lJm;kuqD7aI?qyw1}~J%VP7AS^bI`rUj z(6gsqgy*)BW=dk!rl-;)x?eBSVIw8^CPH(FXCwSv{fHPMElBnd9=1TYjl4rPu-A8S z&fWa$%CsQwcjeJyc z=chw-RYv5ku?&}%dUUg3A4xMKgRR$hi=K&1`@30}^Nen}98uaep$MV+K<%!kw*@Et@%K7ssjw3k+e36WM<|MdCBu?`_w}7yOF^=Uj+}m)MNf- z4NWM*b%sg-mViSAVu&@OI`+IB)-F+p2BeF2_~(3nbC1K5n{03)U`OSU|6Zsu$KBUA zBX8MvGt#mwp7!)7*Z(uPH1r%@*~|9UDd{HQ%MwUWDs5sJrJp(Q3d)FWIlb)=Y3?sL zFzMH_&*QuQEq0$k!=h`6EOfE(vvJ6hqhxY-@lGW{`D;zZCOZc}pa|dB9)-H}um>>i zqUd>gyfaW7^f7>^84dZIA2Q8a6HF>ds8DTie~M=)mP2)!VdH-E68r#btnfBwwvD`6 zPWJ!r>`awsgezR0WX?1tOSe5vkk;%qPT+go7t%lBlalg~RC8GRM%M2(t?NasyOHK_ z%MG9Z{%obUy;BT~*_+^z^{N$@%bul6Wa1wuw;)k?z`Wt<0Z?H7kTWVSF zU$+w3L*IjwDz6ralGm=Z!av*Pmrr-t+9_Js@x?Ruh&Kk#;tGs|bxv0-DxJO8G~8I? zg7CS<;_O)-z_%$TI{Ne#v2&Kjd;5a%akKjPe*$TgiX*>hU7zu0ew9F!|Em7s;0?sX zX9FyTzq)B!ihux={I}|LzU{5k3$b9!M3<~)o%4^+=D~(E4f<^%d%ackc|cq)?TAW? z-ni5#$OR^7i~I>jGkAx3)Gq!%}Q9SJTcOl1@w+eR3U)yu6t)iPQT3ET@j zovH^{VmsdMyVX1oIjEPKilYmGhsQ#Quf*Rc2OCM`i3>|koVG+BTfs)JCG|M+88J&J z(tzamzs)vyKwBWDw~Ly_-C6o-j0=VW8ZuiZ4u zMP+WSidk`0S{Z}hJtxI)vY*>^13g=ZQVPf&;1+*&&a%xg^}5BEr9bq>(ejTebD|c& z&05HeB%$j>sEOw{?s-zPU*(empSI{arw80klh*yb*D`I7VP z-Z0&@mfch)o*ND3uQ*fOVDYepxQ@R{w)Y(dmVsp=GfKX5fXj1V?)tB z^?_JIc(zYOYOtkpFNpKN0)zMCI=eFb(C`z}P|wTbpjfvGJ_!n;T^(Tudd~T*%0GG* z0n&lpnEa%eYo^7p9!5R8x#iGL>c)4?yvt0O+h#cgJGXU~kHKnb%p1x6aagOOG#k++F zbHn(Y^{cot9qW&qkx0c18>(pjcK@|64qtJRA$F>qo1o9J{Cq<%gq>`BXyCM@r<~FF z;y@eBN6LWC;<=5$y+xTGk_BJJe0%mj29Z0mMS5dKn6GEej99N9@`YYHIOB{F(@*TC zdy8>?m3|V8+%^GcOzT_^nduVniu_kwH(OBw{o~@o#Lnp+E$0&0=Hm)duEQS}S&Rpz znzORQ4ca2~QNobqN*lyG#_`FNR`mPX&pI@f3E+O_oONgi36xHⅇUz8drca?JFLCenW-Q&mQxr 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 z�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 literal 0 HcmV?d00001 diff --git a/assets/img/dark-hero-bg.jpg b/assets/img/dark-hero-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9053011edaeb58474d10ce4921a4b3a5da7bb8c GIT binary patch literal 119464 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 literal 0 HcmV?d00001 diff --git a/assets/img/dark-mobile-1.png b/assets/img/dark-mobile-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba6b7af0a61f48aa6b2d06ac320eb02828519866 GIT binary patch literal 65854 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 zⅇ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�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¨XfG{nh-?=98v{k;}-bKDzeoJ5-Pw3JUE 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

    &0^u<0KfQ@ zMSS?pRWXuXG2Ce}l6LdQYdkkU=o~oqr$-ilK5yV`E<>G2gTS7TfR4fsarVA(Y--drj2sVS&5ce+M-uJSjTlLG zSxb9w!6@;gkwHCBBYooFQ)P>lu!}-=Vr+;5)%zt=5*^_tK-&t8AQO=!u<6)Tmo~)JR|$t0p@6J-hNZc|)Bmm_g_= zcD+Mm=#(77cI~uT;|z4NlgP1WBRm3x6aGOSWG?2!zP>gvqp*}j2b{y5KlD{(g4^KJ z6DN(LL_BF&i0Q1z{@A44EXYeFLjCZCg&ABU28OKWG!+3gK1$aCCtJAVg&}_Mk9~~o zaq;e7%;OWkGOIo(wQDcDKz^TK@UwuDjihJRM5Z+8@;qWmCI9QMzZEb0zW)oKyz6NO zMxhb4H-JXv$55KwF9*Aha zI)!R&)^xLJM#UIXSIAAu5J}XQL^|uOFZMcGW{8sme=)w4zDm+ppOah8dERX;5v*&c zp(G0LHJ34R%~LTYhLUBTo;Zg_VN9E0nI6UIQabR`BVr*62c*g>UAuho8ZHX*j$R0D-Gw2n!M!U3=4AXh^hmTq3Pd zUL#YQ(84jJCNp7T>s(CB`QAxQuivpWMy$=TNV(3Jzw9-5$#=d0&${gvoIc&gmk&RP z_x<7j!jWT-;N`zKj@SND7WW^D@vCS2fjJp1|Ih7bQ;7fY3SF*aq?+$}t{1)b({h#pBKiZA={{$ye+DK1j#dvu- zm#h(UB7img!A-!_j?sf0W&*f_Mit{bcH__9`QP!A|KZ=^=>1<8Ur;oYEq0!qku7Jm zS!$R+dLP10Q?lZc(TPb6-EhQ8^Bl2BkyZAfWO9SGNME8-PK^X&6rA}W-Dz7Df-Cpq^3^Dl`U_c)S)-%T;3S3T^_wXD*=-)4 z#-c`DJ=L!6ny(X1BT-kBF&fxj&_qZ6p6m4R4-Y+vh2>d9)zhfY95N7>M6$r*xza2u zv(`8St6+zl2PT~z!Dm1Hw`Um1&L*nX+Shi34FbU!Db7i+qWI$a)@9 z3!JHKuQRA;C9oJ8Vb|7vy`qsDaE*s1v$mt)_#%S2M@_ovI9nE&s0yYS=M}64f4ex2TM^gm5?!ne8Y~xzqDZ1kBUKv5M7|)7a~^exASumCsx_~+ zpwJy{oJr*3*5=SUaX)$_idN2mmf3?_;50(dXf}C-zig%xop3bLVKV(rN+FjlHI4h& zWcLz4bhsC|C%O^hOL?_$)HG@M(bs4h zLt+1uP{v&^p=@fco zKX+3@=hU#>{PdfC9#4DTT^GEKAARM2!Ob^3gH=m}g(;ma&!n@+d9J)n=j;bAVSJX2 zPvNsD?&9}<@4YC+U(bEPUNWD)EyLBlX>zm4$BiB7v9M!ZcjMu5VLS1euPtHE7j?pg` z;FTnbCM+vc9EiG|^Ax%|?_N872n&zh1D_ysGPX04w%SaJ3~*hm*y&2-+E5(qVARjq z3Xh>Ow0!>YR%rJoypqax)f<$eE=_mEq7ArD(_5N)>u4%@5ya{3oZ5$p(P^apl>9qH zSN5$Aii}NLq+Wd0Q1+VxiAF}BjKDG2LDnI=W{x%HW|PRPm@Qy>_jPbfJJ7Qdui?Z2 z#mD*V2D2M24?C8$xmTS*Tsduc2iJ!2jscuI2}pU!-*?4$PnLJ!jX&~(>$-)^goD@9 zxVdHIQz=RBL#<2oNTYTxoLU0bmdGIN)bOew{9%0Gt6qXvz4B$|HS?v_n}ku4M1^GZ zNp~9vl`VY@L`Mt!R!uS)!=w;ePtwT};Y~%bcRYE`lQ5YpAf$0{&q5x%g`G_O?;;{I zSJtd8Yqub2^7P0gu1(4M<;TS_-e9}d(Yf;7{=QB378tdpv8GMX>?O?hj45!PNM%sA#vmI*Pv;lP-k%!V ziOE6<&BlrnV-U8+{j#*Ogig29-$Pexl>NvmFh)^~lm2^UW-zcEq3!SumB>%NWW zJ@2{5WYTCXFTxcs$<06pA0-vIU;vfD;;GYk(RY0p4xc!I451!2YiWMgG+ zpyGG7=Xpl0sfVbUmY48#B+`-BuO9oRc66O&mi`jdgS4R{PJ1z!J3m&P}A3)xI0k))(T{*+DxH6rE)>4g}`FEY(aCBzvU?ViiJr(|z5YZc5l8pf!%;#G1KXBGwRKtaZi_t_crSbirX zDc#K6Q7k@ox52@ta%&n`Ta6bq#zqko%IUZThBAS;v8LZ|{zMxZT^!T{aaL$toQw~9 z;#|Ghfc>{3^_H~>vSo}6pD@9p? zEXjp@PB=_P4)K^gU^ZA9VT7Y!`WrNs7L@+0M-i)(y=-;``)t}9dC;rLMVF2qmNcID z!}U!&oSc^kwi6&#kh96AfSvh1tHkKq2(Z_d`%<163z0fYEsqC*V|Gf?uz@9#s5VT? zGjuuikV9C?>u8t(WDm)NvUYh%@OYauvaG8zEiOo=FrP33ozL;<0rv+yi&lCdlr*)N zFQF^<*`cT!vlpE@S{WE0Sd6W^Rq40Ul;@-v>)u=PWOc6E4r-9upN&v{zRKX4p$3i0 zV&k589okVQ(u0w9VH8~nLSp${^E0uvh2pqVX~X9!fk_xU)?jUpxR(eMHfKEQqqkO& zag4gR5Fe7m>A0l%ct(g(YceF zHj!KMj2Ixaj6AAB_W+*x;yc!L`G57nkE=`s zRK8JBl2#P~k55JDh#B{gU5{Ht3TbxEr_8HaXUKkJ} z@ct9k$SdrlM>h7T1Fzj$-}O0GvppOV)}o|Aw}GlerqksqG)ohTjBtlU%m%8MYe-=? zYu935q9y7!g$6ypRdszjx`YdXwLRK7xo#?BQsS5Jb`oLdi=!x}QmC#hs+s`PTN+RT z?NdB!xr53jnwHOVDKY8}yWD9x7Xju@Jc2B1#bjo3Q<@&L{?E8LVb5}{Q}Nv)lt9Aw zYRev7xh5K3Vs=ZukB$Tp5e=mLXr(-4W_t;uUBl8Rht) zC(EBjFNO6Vp0zbKLR<)0l0C&~B(erME60Z-NoPQ=;rd&6{l+$u)=i~2wyH*%2-6V> zLT68&P?m6HKjr29IE;`d8$3r`OFPN5P*! zc_db4-T9-(P^s6DP8a0bd#JOSlP;l<&!UscqfDlLC7+?jRY!xFm6l{Xs*D%u8FoEK zyV$AxC`Kg{Eb{Bz+Vb;7$}ZUW$L>d7&fMhK4%FLCZKhu77|P3TD7E@Q z%6!%!GbO{_H@;UrRlquu7%)$~T~j=dD~H?Hs4u0nyG&-hptUN!rSbG7O{2Fga6x6E zLZu9Aqq;m}3hOq~3gezE{s<22I-u~8lx)B`dCm5673Ez;jJ@%F`1J87<3&4u8aPJ= zURkK)wXb;{8jU4MpNoU&(Q*2cpsclJsXrs1*DEua8k@xTe8+d=gMalgtTZZOFbg)N z>Yh9LjAIM=i3T#H>ogi{T)Lf}0;*AK*$JQSfZX;+{8NjEa#d^6zv?9dgg7G)bf*fh947 zUD@9&3&+us6ql)WwXuTvg_B~O#?^@|ITe(uB`hz_pt5`lt!`I|JVr)$SHjy>`S zGQ~aEv-6;;5{yWsUtKzl`yRa)yQlVIYFOKFypzr7|Aj!)p>Nq6ZvA0#>6Xig8&tYG##A*U)|gwscj8u6n+&9LdZ50f(>WQwX3f!;`su&giIF>+c=4V$w&Vp8zhreU2GEE5_cC`>NEnYJ^u=q2W8JYKqTp3$}0}3 zGj7~i@~1h0!wAM5sznc)F5#eQwnbfVzC$RPPcQChLuAX3y#-~bcpgTkP?9~-jLDcK zd)a9rm-Xaq6c98{V1DL^M1O7B<2g-no#>R3PSopF?3mbvhD6vWC758qvU~USn3CsF zsjeWK_0bAaVuVMrB2K=ubOOcE9cY!ul>?z6XZGl+N3nPBO=9TwpeSCM=|2lwfmf2B zKZRo_4`KAW+qKhO?{v{>EW_ho^fSmxKtn9$+{z;6W{+T046gPay6r1o+xxN_O5)sd zVz3HMjIK)}GC3S7pV~uKqQ~a)X>=C?6_)CWK_ROR4W%buiadkVI|*7Va*zgwlF{ak z*T}-{+J)oCj*IuKi5+qkqC#2Lbgl?@*Nu{9o9UJ=0qK$gH#8;o@$WxAiEE#l#;-nC zqOTbjAD#IC{_4)p;Jd#4g?RcipN+>J{W|Wu=V5&L?l1Bv$m^9-=D<8m>UNDc9x!egP3kX{}>m10lNnJ$Ki4DP&+;>jat0lkRBjHIR zNt|fbsOR3gh?33XbR_$ZTfhk}i6fyDM_nStd2z@o$y65F9h4=y44Pe3PS2pWIE#j4 zV;-A1jLH#P6hca)KG|JZB2yG4K?u=dy)X)NG77CF%%47lqf5&YWzJ}{SeNJ65QBE= z^rQNESxK3Beoil*!jz=*`Uu6@=Im1hhDjqsI zhy9bg6;nAge+*5M$7tR4YBOim2N$g&#vvkxiU(OXY)Xt^q1{AX9%M$0P{75Jlp!l2 z|G0Q9l3PUL9alPSl&7vywxG()AvJdFkkarp#6x)_W0>5r3%OiQvdxa9a4rs?dQ4OC zjCiyznTF)RWyC`^+Y)JXdwA{dm+``v=kQxUyod+CxGdhSXh_jpv-r!8zaM}9*)L$F zcEXk+(>i7t+Y!Ch1$W=*c5^ez&(TP}=(#V#&;P>D;+5a=V$9Ah$-Rx3-*c@ZBv#K_ zbK{PU?!@G62Qfb<2LHsPlGbE56!j>}c87SxHX>JnQwD-%v4&T=*Y>ou6`?NoO9_jj ztbdJTsm-c^gKeO$=d`N`#PNoOapOQ3)$|$aoR1A%%bcQL9!KeE`hCNO}?wd zBcv6iQ*M&*L!MDnGB8S9q|;}|iuQ4eR&$E-!i=|1EuPjh){%3$)Fk4>l9cGgldHzo zjgxzf6szI-pCHI5QloO{H|Y(6e}yIDc8yc>W1 zz7OIpZ}~ZV;fr68NU}VHD|80k`k@U%gU&|J?j5^jBUZ3LZ5?a?s$tW5c3i1usCYPM zs4KY*KG>lRXpf#v>3rq4C`X6rh=t9y-I`Uni=(!Tw6!>GWixbic14IIk6js@)X)) zD9M`TQS#Y!aph+^kAtCPH=2X-Xf+H$g#5{hhwMtaMFIn=LvXyQCL#PpHm{+)3TqLd z$~kWFTx8--rL#l!Awo_^0Gl{+=rFRBIF;3_HB(3x$Fb|0Td`EHD#2}2BF)}P4Y$2) z2Y%p}J$&e$%lPC}E zmSIX?D@l5mbdPCOwXuNDefE=Zh_%e5)*k_C%AHYtWX`{*y)ry8lz|GEHB1z{4ZOB% zh08eU)RjYcO4f|3no0(;UW3NQfb6ThL@{H#u0w17C@PgXdF_;SQ1O7jbFISPrc!SQ zSy_KyVoAfWc4?kBAwMlKHq<-kU7?ddFhuiMaJ4Woj|rr(7J5j0mJ z$&CG%w@QDZtPU_v}1?h2=Sw=6JkhXSao+wEjuQmY5Ea9*f<&kQNx}+ zH=ypM(5%eJIcZ{YUm0)wcpCS7sg6JUQBtCDiX*mT=cXGPlUGq9lDHS@=j%xg7!8q~ z{6GJ~Z(#qm2XNO@pQLdH=hD}=fn9TUJ1a_uPoVJnH@=OI#4-31dAkx(M^0>P<2Ha^ z49=H>7Dw8eD{vZ%3f&^6Z$k#aGS$b6$I$XA6H>yctZAK*7$G+NzDj6}7?sYm5;zm%NPubN5}l%p)Nf%F(_%JKub{R(gRDeN>B$3VP&tzlP}Vrgn!bb|Xu0N+ITem+%41<P;ut)=bDY(JnDdIHR%-^>d=$kfDsN z%*sY5juI&d=hAE$W?KZLZ>b>K6WmbhL6FF?CI`8g&5FmL(;_reajj9wVrRJc?0%E_ zNx!y!{=~uTXlw~VQ<4&Q@w^`j@q$-(@UAy|xc^giiQKvp$r`N~Z%q+ACiyC9{VCK1 zOSr+2E{SyWgM-*(UZ$q(y)I-|j zwR7z|5>c|W!!bFoSB}x6MC>hjeK)tmz_XO{Z}SnQ5#wH5m z^zxK$ow#`t|MpKu@%aw|pM2{v`RWYZY#N!;q{T!=XFL@4ExQp7sWG4&NTZ0^WO*DT z(+3c6Ps#PgYgu?M`+l(OFT|PVM-Whpyq8j$*6mgYa@DZ~XvOa4FP$^Td?wS^sv#un zJGG^|)mbg=XfuNXZz|1eWp6i?d0S)Su2%+PYtGW@y=Rq1gAD?>mHsf2Y)`T=FMM3g z!c{|ghVhD#B~PL(WFRS!LLEH69|b0L$k-AbTr_;c;Ur_AAe%S-g@>g|i1)spS~Okw z#Sx4a$C0N(VKP}DM%&D2JALQuIIO1_7M3ho%q233S}Q1x?L>LstqOK$cNUK)1Bzn- z<&4HkJ5WA&3(D6VKwoV*vldVWT%dVmu(rlz{RvJJB>l`!T#M(8ZRN`)3GdoR* zjLi6Mq*)@#jR57Tv*>GY$TEv__0e_mO6L6dJx1pu%L$R0wTE-nDqazWlAAH?Xvdpq z|4X$jVJA{Wx$pb!3EXr`3IF4Jo2XUla%OyFGI_&pxcHJOZSwXKWsfF`< zN@5{D%TfSGtt#^GqC_B#)2DFzZO_CTUiT(V@4DUY<5by$AsAu3YT*c?DoYu81S)1$ zRH@r!R`^PYqZdZF_IV|I-%q6R!C$N4 z@ZVREN_&PxpuUX7rPF9=7tTjpQvZG9Qy3rHfi6=Q<>l*2pvDG{(YxUcHQ7_zOQ-PI zp|2unE#SR>{B}I^&fAnq>TxUTDG5l+G;`$Im1@5^kMii0N-6XRgSo<`KnJGMRdFk$ zn7G-UZ5f@EUTqE8EmLIKgYDW9+Kmc4@>G&YdJ_#W)rMg+F>d$i$hMKCv@~^mP7$tt zocZy%(5!Kk(Q~(skYH`*(QZa4O&0KDf1bhvUw845w^V65&HSrXWF+*cXFJ$|L}RVW zED927@@G_VtV_607H+X9hBZ_p>8RYPgJn5j?|kQWe*7wb(Gp62^q{ElX zD<@!cY6y+(fwS`^5J_`F;8DpBfJY3rO0%t9cK%sW^6r| z-Q8BJfns@D?y07Tg7l7S;K;ur#`4l=LT}ko)irOkso;29)Q5706epcae*L8K3wxew z�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 z�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 afrs%w{WK{l4dR7)e-vd^Woo6s!T$#b3B=I= literal 0 HcmV?d00001 diff --git a/assets/img/dark-slide-2.png b/assets/img/dark-slide-2.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0fb646ab3c252fe65dc104c75a3a48953debaa GIT binary patch literal 79429 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

    ~|nK&Rkfi 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 Z0PDNyq>@m~_W=94WF!>DYeWqK{|l7qM!Nt2 literal 0 HcmV?d00001 diff --git a/assets/img/dark-slide-3.png b/assets/img/dark-slide-3.png new file mode 100644 index 0000000000000000000000000000000000000000..2d6b0573fd2cbc5b6e5daabc1cf20c3aeec58c9f GIT binary patch literal 158358 zcmb5U1ytQ!*Dkto3dOw?cip(VySv+l;w~Gfl;Tj_t+;z}cZX7}xXZ@fIlSNhegC;< zjQd~7$VjqQ=JQNhb0%3y!c~-{QII|%0RR9LSs4j6002r30D$H}gn#e($dLQq0U&Ub z)NxaHv~=?{bpZiHEga22q_Xy=Rv%ApN{>9DBi4O?$^z>x*WM_7Cu>!L4^6~;%*nn(oOz#p*u3!f@Q!ge5SBn2I zNPt|;U96qltQ{Rl|6w#Wb98qTB!9Q`zg)0)`fpkX*MEoUJzzjDQzsxRGs{0N{YOwy z@&8%W-u}O(UES0`|J&aGTVhuYuoDQV26AB9GytT#s3vGQd(_m2Mb3}SGs>;6czbo9bDZ^9n3+p5`yIKEX>x{7JS_7 z9O9A^EL@yYEL^Otl3cu8oTB1loZOreoa~$u;vE0MN;sOk+k+h3{)4sn-&pSd5&KU% z*gL&zmH@d}dw?vYTpaC5|K&EH_5W-O$N$LpZ>+`tYzycAhy}hI1N>)j|1X36pRV@| z`seV!Q}?~`-^mYhc+Ys3_td^A0@eedt>9%PL^Ztr9(N!&*dJ=*^1KC9Hj?Z+pH-F> zsL2+_i~I;ggd)V2gp*KRZix7c(Le71pFiLLkJ2gf$U5!u@qi3v)uX(m;qR|sq~wCw z*4;5;q+%jih-BEYJrtCAYNZPucLKL-kh!a;z05Z~8qIJ~j;8qf*H3MyyjEu&Yj1Z` zL)=|ygU*Q{MstEOoxvw!a0~4Fo-Mf+u=~D=0x^oTyl>12kX4xfB>|oI|LJrT9Bs-! zXmhC1|Dq0b`G=nkH`m}F^8dHf|9{nn_LT@nO`YUl-#~6|mLB=$7pxA-bsZkqk}u9c z4Udn+epwJm+s%!X-^+L?WTeRXvvB6*{_ORQ&-KkGzn7z3U86xZp^|O;$43vp7c9RH zQ>fAX1+Tcy*B$7Xce}4JIl7dL&x`^u*PwTD<`?h|Ar@ffcMtb>d1e>54! znRtBc>aSb+Cq6I;G#WU+)R1a_;y0?{>u#LWMq}joC^@L%)9Od zT*fXtsL_BYk&uZ6rl~QuWM})K1zuEv>cOj0HU#&->sKwGj;99d`yv}nwnei5UKD|{lCUGseMO_-d)OYv}EyF*&0*%Jn-j?+*2Zd*c z?>cUN`HpzHkL|u|>UZ7*vu2}-gx3`*8)rvCA`*Na_DFaWfIbt74-K*HWKHwB{;L$l zmpE@1Ob<_vozrNalWpDnhKl)x4199i>9lCOqHJxIsr^8*Fm5IYZ?^IL<`kj00g#kP zw~irWm(1pQkq6I|{SEI}O52B@#sQSZcPE~^`~jC@r^k8^RXLqMx*qMVE@^~OK4eX} z#3egVId2(Rb_k0a3%3fuj0O60d*0MnTexunCkF+k zpEnsu=RUt(-{_9L7)$YNuHPJlwBMw7Tpr;$?lk$0YbCFFj-^H~97385xpOsqME$*5 z?*2&xe}ZlG>znGcfta(o_?O)=LF4zjxybuUcn3{uOgoQg_pfsD=iTOvAz6T?eM@C5 z9sj4&x}IyDpPO+-9@55M-gEjL@{NSVF1J0eTG{aQ=AY6F7`iBpp&)s8o$%WI&87OE zI(_Dkc_NY)stCGFNPcR6uiI^L6zPB0Dq#2OBdu}A%Jx6>BsM&kJ@BK(jsHipewP^d zes#E4>5G$eH~Bvb-FWFfH{zw^_RjCL{&oIr(&A}adhBAz@7M4yd;C*yli;C)mt3Rv%prVaMgH}f!JGxxlJ_N>)BAv-cjZg zp99UU^$^7rSYTzyH7nrZ`PkRa{Fx+HcJJ=&i1UYw-{@Stag4vF9WZ9jpBOYeaZJ1@ zINlc&5bF@5qIw3Yv=AI@UTdayhOM=4OZKpj55S|>r!#!vg;c+=j8;K*L3dfB;xvTd z<+hyU*0Os7gC4mi93;aee^c6h!7kLT4Tn4sm`ZGu5- z!dlT|tei^MJpz^H5IoWwKB^=_8s^+5AIA$x{JQXu=;hv5NQBS!`uW=JebMula+fS|z%rz8>2s3L1KL}T<6|!LE`p|| zqGPW;m|4ruJACE&#F&2j)u7sFC=?IvQDu(9dp4|#fYyl|5}bX(@9;Uu>>9xc$tlsE zb`epO>KD{`X^uJJ)(PU;I+ypl)Gzx3jp0WErK-D@=9=k|H3&(lcJ@A68$zBI)YgLckE;}*;K9LO+5p#@Dxez%(C z!0ilP#&O`^+YXYPAYgTUXU*Hh1m0+D=d1qiGtrybE6>WzoumJvULvsdA>K+qF{KIg zR2Tb$5N#DWXB6~fgM-IQqf_E`AmS%yKAL22@KVZTINpp(%{Bx8M&jeQU3>gt}UAcD z!sz0TVO>f-l4X)RWy;K$2lq2cEb^5@W>!5u?chE_?1x@%@W!jY%j+fH*i@G-MaJyY zj?s;G*FLLUm0YvR2(YsalYF+T6#w@1NoW3X$<}3mZ#~PP{bH1B)M{vnYjEjO$fuBD z8Q+S!+s9sh&(ZkBj@P3W4v>t~jhN7-EpJ=0a9gkBkO{1)bMO;?>mWs(_SVSVenR~P zD+#?*7+foO5Ul^bhC{8nJ3q*)zH3`6EeJ0rUq7pi|L>s(vsaZRnD>0UmMHWvQ>wmy zZ<#g{Ua?JLY`!WZfLN{O&C8)iq~xY^o^XybgMaz; z>#0!eRF^9$B2rN1)42*16kSVUx_a&B50l=pw_rsUquscnAlDY}Pae?DydRoT9cqxE z(w%aAjPRcH&*mu@7kh&0Z%+na`}}eY0`w{28@ZtV(ruy1vsrl%{YJRw1y=zJ(7q5( zy&k#RiT{3DTz^`6d2%E2tCM1srs1TvD<{?LD>Rnj~Uz;2HUFDd*tU$`% zomcqBP)4B9-A4+Y_5661iR4Qj2U0pfStnMIiP^cF=L+9WSl_)VcKrA3ltt@Q($Mv1 zbOzU(3&+f{9}oslszb`tbgU*m{Yb2N2($%HRS%OGw53P)XM0h(DQ8{+rD=PU3>|Ez zwR{p`G1yw#5QbPhMn{8c>$J+1-D;HQ3sf;=H^YnHvPL2L4q6ypnoGq#2)UZ}SY3A? zy6hSI)eeh~5~~&H2LFEF)U6fJb9UBninDE7chV)u@4K*q$qJK9A4r+|`gy1MqUHxP zW+m}TkKuZc=*K5(7kXSvfO&H}NbwFLcyAVKt~=+9V!^j(1~a~u5kCqZ5Tr19Oiy`U zdF(OEab5$w(JRi^<)rH#p1NqGu6$%YaGf<*ok&`dFKFM-${5#`H;B7pq*MR;It5(= zhJEe`2nfjW@sQhip)l|!S^6KPz9$usM&*#js*>7ajDO{i#N-2|R z_De#!SOnmtbCT^6Y3C#|3ae!R<8u$M9|IqoGB|P9Kl?*_z&&Ph^MDj@ges7-@{^9W z3?0B5@XqEE*G-q7Y3@OuH`}a46Xsk4L`6iyjU z{Rq0}co|8b9Y%VXt6QQK4e{{UaOB@tx?idWU`y|W3Wx!wq-A(3a!vuIIiQTH?F5&2 zEploH%r;m#8wQ@lVt}=-eIe~5UfK&Y#vSv#ZqCaQzl9`zri8K)mmSBa)${NR6 zDo^><57;g4tw~)s%IlP?uWB*MN{G3hQ_MS?PqDkMLN}nxt&~m)#TPyQjnFmv>Zcjw zcx@ryoc3FG;kSqlkf=Li3 z74a-#y7!(XO+9p*>mWQ-)IG78T{3SK;>VgjXcmI%KeqFmj!w>^B;@FhzN)pMtaTfH ze*IG#S-O#4dakmh4;1`5mY?=T#~Sq7Bt5`XyplgOHYo9fU9gyaY%=5333s|LuUy3q zu$Ely&=#Pab-yxH6IKiu`1a6Q7gPyP(&#HBuZu^`Gnuve%(+!E^)xO>9>DkDkiqEv zY?ea$t+~phIB2j%b|7C*>2{LP>dx&&Y}-GT(aP2&;DgzR2U-;I5;EO1U4{ySYTx{x zK9D3|;V=t}f;gXQHF&W!L(7&7j`1o|sA|yn@#=DCXtEstqeRWf?LXP$am^@;D#B=# zp}tk;}702R7>DgSnr;@4E^87+0L!Q2Uv?ta#@JVtDOvQGc=uY zomv)qqg>D@lMyK959#*?N}3FXaOp( zTipIRzBlWSs1GIY?^}4#@Zhi{L{YE^=PAs>1`q2$@&wYFeRJzr4%XFMqLtVRM;0Ij zFXAmsvMpHd_Q;u!W1^7grus?ben~UJjZ9dUX@oK4CejA6ia=v`qnOCO z7PTxUi`d+!jmT9A@UMH>H89WD49L?Q;ZEhv+Qu&kqzq3lcdbgSijFhMn&NkF?UH}H zLVQdblD6Nhv5l||ywWuks3H~@uLhw{m6gMD#L4%gD&deGVK~H=_aoLW6%O%MKUg6bqz@z)6)!Q`9i191` zI+gK5NDiIjLkrEWwEuPS&b$Xx!1I-m`Yj%w%c9|EaMP!Uk*4QV-y3fKVu7nahT!Aq zx3=fU*np7s3q@hFrZRTfa*9S~<=q?M`|Zp1m%BF+3&WANHCOG|W0GfyhisAuu=~~2 zP6&7G?)Ehq_$u}#^LbFatM}fu)z1=g=q)<}2%SS1o5n=;lvjvm6{4iTM_$3WPOY4P zc?%)5$8{4&|C)iA3-ICuh&6Fhq$XvG(>b)vOni6DU)L`Ak+rs^=_Bpp*T*!OG<2D{ zA2!Zi(QRWG&pyKbQm`;BcuJ#0drb4SBw@k1OA2ms&06u1=s7Y3FeC|({y9=VqwqRT zD}<}HNH9l-DGodQ*IGI(pIE@!Vr51K+qBK8c7mzNi$1pF*Rf}oAZn8yj^4+F52l>0 zAdP*Ec;?jHf^&o{=4kNa19C&s>_KMRDzDG%!sbR#ni?ij=cmHGybDWoHtDc~0O%aIfN^qD`^ zX$vqK-`=d#1)PipRQp1@?uB=#(1b|4?ijihiM>r2x^@>j)v}xG6C4Bf4Ie_+&*3f| z{h#r6E)N^q4_?*5vr|G;0jJgP7m@GE_c9ModK4SgIm6 zT;9B={5Yz2kLE&q7%i?dBQx}4ckK^Zmm7Z3&&kT*q;^O+a?9I}jQ>I9+1{P?42s_f ze^1tTNQ%HFi^g&qXPQ^c>QR5s@9-7kgm1R8kyA{ir1=S3KXsO6;?0>E)n)6ZIPuauzVG=NcmbtlE9J1(<#(iI1CQ@58W~Od2oXobjI9 zE@#<|Yy2*m!qDVZ_xZ7N+I%o9FB(gb+CK*0OySrG?nx#Ln{PrBx<%Ij3HPz$lOYW) zv-!v;G^KIWEw3|NtUxSTyeoQ?ABXc4r>W!Ku(_59`vT=;-j27b^nq?vpGNF2+vyQJ z0@L+wmgyr93m6d%KG$~t(F_L;QrC)nc9XWU;(tih?%a8qJRBnKVp@NKi5;Z?cCMFb z(uE!EwF(#D?$5L)w|P!lgB=L3DCKZs{r3e(M!4?01--qc=4|-K+zh3O3l-*IDLG*{ zeCaqKWc(O>@@>K;?#)U0`R3L?5D)pm56CeEYj(THug^`x!W!Jq46hmMLp$TzFH-@= z#QqyP4zV_K2H7KWP}_qSa{h;gXK@n~SPx;bzNN>Lr`W_>z(b@vS&}!^OYXO4lEk+w zpl{W4daQTt^T^u`zl9;i-s14o>(10LgRvWZ&g}>ZgYt^tFyY#z2d|+|cwVr^w6&cX zAyHU&ODk*AHC@fTLf9WION52wzC9PY^uyM0gKq>1jOw9f?U)*X%=Z5LuuB^{ocNh4O7a~t^^u7+! zWQT?myXyc#lfO^fa!3kqq95r4mMoKsPZW}y5u=P+c!fgXLXaJl&X3i#5|%K}2wh=- zv`)w>I&K{Hg7#qPPm9UzjFpAj{$m!CT^xCK>iR3h=(V3fxU7@h`82&erqj@6?T#}m z@zH3n3bqu#VUkW7O_r2F#UZlpszH`Q&E2L!KHVy zOhXRmq67T zm3?^OC2buD40w=#e*u1#bXhL^xO*8YwBIz^^&HeRO7f!oChd;*=^+AmZ+MBU+?3oh zSG+0VxWT`6lju7u91z+5`m|1Id|&*U?z`UgKnLzYb{LVLGkdw^er>nI`O)=m!Pn>W z43Z=wOv;Z0*KkKDwA_^L=Hz#C$=wK$nXRuIFIo6x`T_7P@kK5d1u%UfSTmld{-4lL zodtCY8{kK}IL0s*Xc!mO6t~?nJ5CYM)}-_f`+2{hswDeyd6wL%3?+)NDOpu(Irfv~ zD`1{-oFdnsDA}?_%z|VM@+^LIN7~>w`A^umMgFy&sFY}=(-ah&!v*Wj=f*O5xZrS&lL0_z7TZ? zrb_oF(i&>-M8W)_>UpN?KrQ`8)4oh#8zlm(m7#dn;;ZKEqVB2=_0&$DQ2f>2cPeX3P;A_AI*>e$ht25l9*UiSVg@_S!NB!1 zknO2$EV%tX?`gLwV34K^uPMpZPY#0|`hjE(*KARr(=OfOBf7v_d=;3DCY}%@hmCk+ zo{6pcO3Ds#qi$^!vVN)baI6dt@rB^MT3!B~dbI#=FR#%}(aQMG;rV}Wf1p{T3fP)@ zGX#(L9l3NJKs^9oyB(8BRPmlq&b-849~XRUeV?U;8HMkQa*|{H4q-0wULQS&gBc?I zvb4GXD0-36Y(qNlXm&s(FJX4>y~4g-R60VpAYdZNeXVgK@WnibD(4kqMAvl{*`?Zf z!r7%eIR*UV9ha72|G8g@2Bo5M%Xs2@rk`}}qY?GtxhbymL4R0*3{FZZtxDM`8C zMY>=RNi^DHM~UFX+bs7T-1P?2v0!j$hd-g>;;}Ex#WRZ|aksHXDtTDlIG6$0V_jL>&hbzhJnI)yT~{v0Sb#kh z+H!Tm%DTfd`#@>6?f24ggV_@%Dg{k7x(kp3M2I`i(Pxy=>qfS;t$Jr-J_XT;Mvh^z zn1bqlT3|OlR&?s>z%?W&3eBxYCw3vJDD;S9FL`$8`!DrOVM^@X7L^t_XByc0zHY4a z=e~ZsSwd6$#t#r%^iN>2MBF%*zkuTj$2}EU@hfj_vN#Nh01usZHRa2URO*~q^H8o%Wq1sROKaMLfjL9V)rD^%ff(D;256YY4KRO{~gVU z_FGZ_8S8y6-gpO z8T-S0z-#sHP{5}1h_~zdxwvD}>sHK)8eX5s&L4VJr(*{u$&=caJKThC<>Rdu2s9Sy z`J=sv>*Z$iflwxe(b?x;_2ouY1_r(r?9LciP)D{Geb&g>xhB!#NaVXa=3Hd(Q*_@q zWg<^rqWB(AU= z?X=*W&9w6HVn36U8pTF_xdVcahEHMyNH;Hz7+QK$_a%mh!2LnV4<6KE9ORULiNaR0 zWsxrh8}Xh^H^-`1dWMNcWV`IWwrr@D%&-*|jH&?2Zk)!$%oPxrJ;-rBH{0L5qR%}4i#HuI8 zV(PT1VuMxrfK7$CTkjW^JfsGO4FXLn(S$rnq`S^_99b^k)2&M}{}TpdvbNR2_LKKV zn-fd+ISO8~wXIO|O~ds2!OlRlsRB7;k>tV{q#^?e0S}vtd4Vfb>MF{Zqz|MzET=Jq zp1&#o(pNv$PDf}WRnF}~uRAYz6c#;B>+jS!qpx_1$2~-N?^fkdF4KF4i_2799ecQx z)@1%xD6>;*{J@zj(+&IJo!v+rS&(*uhP$`>N(%Hj7kvnOirq1O`7^~Tfwdg#Cq3?j zU(9Ds9pTbS{)06MVKk}Y{s7l-cZd+y!6?Up7Q3j$LUh3IlVA95V19Tm;_!pn%^^dW z&d1v&)`*ErX}v<<5C=DpmXw9p80C0rVt=UU^hO##ah420SXqU5A4I@y$B9@YBni z2$wWBOzxS$?Kr=q5pcn$K@LUDw4a)i@niog&l0x8_+MVOCh^MlP$LJ}eSK7^2 z*+|?**a^u{zsX?U8T7kjpv^g=#08%h>AIyX#nbI^RUwt==x+5KFjQzPm4|pOi^OB+ z4f~&ERv0QT*?rY9A0bBX*TwaswQxBCdhabTo=%!a8$$6m2iKIKB0bJ6&b$l=)sL02 z3T$9HxP`0=a&1Ubjf!feDC=dlSnWHve+RS#o_JAtBtEz6XLGOF-s1X~7=EfWll_}V z*uteyX33c``RT^? z)FRd4u1a@FpVVXcYMHzgGtk|O8rH}6g_o8_*_&z|HJ+@pbs1s`^zr+pWkigepI6EV zl{{Dq?}H;J(Fvq|T4spnbjwD1>i{4U%!4KqwARWfPh?K#3@EMB{8UhhI` zrDgwY{6`@trH((cgIAWXy2u8jpRD#}ML`yywcBJj%+~aheXfBh5b@Ty)@*OQZu=A! z=Gggj%URlR_-Hz*)@)L!iUb{ey{sDRpsm3m=a@Urmm3{!o25bU24B5zoiO$W*L1m| z>X#{3#7D)S1Upm(JMLUuL9MGkP=#3E4D=M+e-7h*Cqklk_u_c47IaBVA6i-$7V-Z|g;6oTe6- zg56E;z6|)22CYo{A*79eM^=FxQ?k!%?l($G`*1>1h5IjWr>O!2_wc1lU67K8e418+ zy5nyJSnh&#m2PJ(q6-1;;Xw%dbay2jY1Mokv3t<(wrNeRHzT~j?0#M;WnY2;TIU`p z!7u0OC%Ig#F@J9+2^23UJ%wbo+pfOC=#=aGp#say=kLrb`AU1{G{*E}5p?gha$@;1 zj){d3rY;*g80=khl-6GqRQ6h_U7t;R+`gzN{!Bn5wf+gO55pCElT?=S(|mDO(*l!< z5!ce6i7XFN6ND^+%8_Zo3=CvdSJ)IvU{@Cja}foQ;#mJZPE4PO8mxCA3(w98)tANO zW)u=cJx6_Dk08jv@?^Z%EL*c@U zF0%M-jpJ3QJfzT?aMuH)K|$}-Yw~JmCR^G|UZ91O z@j6XPk7SHZ3+Xt82@jeeXGAxqOpE-T?3V4Z(2ppV$-(A>@?PWtuHUWUN|OnMbT!DIRDnz%S>4 zYx5O_K{O%pN-r-}{&$vqCA%F7>^HsMI(a`{)a5@%Qtm+u$Q=YbxJ*gLHNKtGM$%q! z79sRpihjq+J6~g}`$5XkIBk??2H*~l#@;ta)bT$3_|aUfM{v5$5{2L$ayZRJF>I2FzC?+4^h!HLe@&@Ob6y1 z6s1<8H9xyEBmLElw+h=unxisH=;6+!Wrgn)UF~^-6w#CN#^Ov;Nik@*ncAV_5^b&O zJg@A=lo6yQiA&klmKKdSyco5_fHdotLy8Y&%bcaWND>Bw@;QFk>@DGwcL*W)z||T0 zDYO!GByq%TL&Zl0L9Q0KioMB?E=r!-$`!ax5<=^0{upf=MynEFH?B+V>Qn9K_xh+d z6JGnHLa@rieuHa{nEI(6GgnjQNL9{#TU)IIBhF)m^6_jm#YzvPJoRljf6)6`n);DL z{i=@Dh3A#HnRADit17JWOkJ_3%5mc15oxfz$@@*|hF};%ljvlpwobhpWMSXGv!Xe8 zCpz?@v~nyVbmCGV)91McNQ%6PGOB=5)bWL2e-h4Fk+wG;bCADa`E%NOd-{jpw}l2j z$Y7IsP_=Ec({P9%x8hxc0&k66ceZ}{EGze;GL*;qC+B7k2}ggo;GDsg`nFpxlDi-5 zN=4hc3}5a|o}_*1K{I6}EEyQHGwJUt%yh2P@Jb{$ZFwW&gH>fzJkK02=)Nn9CGXMj zqKV1g4K$03Ghvl?aZ~e9v4yWb^kCK57m6PHR3@v?u}^Q?v1`tS z2|Q$?C@AJLu)o;Y`2DIYMbDWVFwD{4eEMag)o1j}Mv>fk{>ZOIgTl0OMWYMSgm=cyv*x1<;p?&VBPJ^ z>lHlS+FFfRg%3n6YFZ1;5t1d_%Gh{MX$5v^6&!&&I&KV2gC+E*fN30NP)V$^38yx# za{VzoApOrzfpC=yu@ipf@Qjkg59myl#0C`8ki&;uH5%@dc~^<)^TsJ}z}{lc-dGmHQC zYf|-kND6caN#-)@r!pJ-&+eYOx~>8S!;*etMIXd@N80Ii;%kVV6=+@zU)yG=PAOS(g#$giB3+sW(!Rh|RZ!@wIQQRtmUdhOrAJXe z;h5n7pl!QBk72lDgmRa~wsslR9Bm#al5G;$m7w3$fDyKdWT#KmAw>S3ni2-GJ)-UL zk6|r38KQ-?IyUrw(tbV?QH7=g8fhX0TzS4_=MVA9ii_d*gm^kfLB@(-JR_&J@GHI+ z6_(8$2nLF63Y3A^cx^ixWpcy5%G;RcUHF_s@vTu21cnJSKDv97F*FMOpt2`Wu0U>< zWQ@hlRY2NO-NZzxB=1pcfs@iE>c-=XP|~D3LCG9sOQPee_2%f@R#nGirZ(6}YSNHl z&)aj#2)6y=+;2edsl~C1Ay24y#-{8Yvt)Q(^F7# z=NsW!z&ZJngl7c%pYrIYojfcKJ5&g~8pz_DsGr)0U4nl)#aO^Iwwa!ZX!wwu8&-n%=nWWOnDI0+h;ygv; z*|@Cywa&;#F7V=;tlRsT0S^?R0^{n+WC-}2gTj-wEY95WB*t6>-DMSUk;@Fuxi~(V zi^h?sC&}GJVsxYx?da$~OPUQIm8c)?_H8537R?aGhU;ErBc|W6 zJ~rtlkrgOpsRnHHnq@F5FK8!*(d@;KL{p9)h_K=IHbNN-E7|bdrX0&{Q}Q9ln4G*A zFJ1u4Yz5ld>_3(7lQ7{TsT|gOX~r0gynpnKaR@PQ@ErI#%N9wvf&V8hPLt~j7b$LJ z{z+YVKgLN6?`Ah_%H42DE3E>xBz%r}q@9-WITxNz#Sz^yCm=0yx9F!|_FNAC|LxT{$Ug4I3`8yB&5;HnX-Hf^wOCQC-&%e;VABUd%EkFP;O z7P*;<3>(OTVji~xhscGL3viYByhWsw5Ee>YJ{QizSMDqk)LQ?G$~Lvq56Lw>(qngO z|EB8ZHqx}QMZMQVrm<})ltK5bbVNg4g7%YRrzDOo^_L0>paj8zKmQL&aR!ZUjqCz~ zt5KZ9gkW2B4ot;s4?}EkF%L%X?o`NMyc0Iq9k)p_Q|{xT)v&DE|ynL%oD76XS#O*4azS0WI8g<4qzOQI*T zQ(8^qe_Z>h9j_Ol4XNP!sjcEO%MpnGI1ShV*fsCB*-d%Y|BaXHm!tj`nvPRB5S{%- z%(>+aD~%MD-@2c2!^&X25tP~BsSrBbk_HfOUK)BKApAw<@If$iY!p^}`Xh?T$hx)j zZJ`y0!5Ja~01urDe}U#sAni(k*7P%epptuV?~WK#+IKOf?Omkx zlRba!eTS8kl@VT^Qp2O)8QzRl zSAUEeJ^UEsd9FKl6no+Is#W>zbGa*xlXbw~_t7G;_Mv-QiHda>FuDrLPoX}3O$()E zaW31e(%mr%&7NZ$F0TwFvMZDdfiIyTr6Sodn#*dHPHBknI3f>%3<@!B_mds}tkpv!NDbZh+|KJ9J5(uS&iqPjT!*iTHKKs z3a`^lCp`DbfDmDgF-@q|gA>d`AIWQhdZ=GmDmSg~-bjKo)^OXV0eLPD5j25XLu7J!RL2f}yJ-q2J;fvnr-m z`$_bMGbR=vXCbLj?N_&mQJQ?lHJ+!Y76H*EYb>+4&Wh*g;I`*Bb$t!T!;M~l(Ir{t zM8cJU5?fSJ#QLzS{%Y(CFZ10anXI<8HtT>Ldo7~`ds*W0!p`*=`LYo;stsaQ&pH>S zOs~PZ8OfhS6^{4BRS%oJSop2EUWzWeLd@IVHoD}qVONJEIao@aINdOsT)GFCYADh# zgTopKye*LL@w%uBznFaoWIuCb3eW{sWq;u?tu%YWLmG@r)b*KX_ZE@95W zrKK+oAukc|9{8vp%{Mfi-Xz_&{@1Hbx6zp_~#@t8^l2xIW#~Y zu8<$!?`*m3X~VfrMiZ|%YH*0)fJ9AxAlPi=MH{NoQfMuUcK$~ttLFn^WOGj7cddo? zbyP=X%V(YTo{oWuiWOj813=^tVd$8?+_3=>KPI!PJ^R#g-Aj3sRoJ+LMH@vpMlysY ze^A1s-FeGBuwVqNDY@~}*>F_WYr()^HZ61Xb6Xm`Ic^%PpLpEL02wVQSspS0k{AvX zv&C2ERqalvjrP*wgEU9Vn6K`{kC9|Y8NUlCc$-rZVlWavY0U?UM?y-brj~9+d6k&9 zWBJ1ZXba}N&*Jh<|6uO?EUy^&?OfuBWsMaI zfjz)X_i$2&vYSoM4|T&R;ju7#$k}re9BhG}&HV{zw1Boa@Do{2Ev0P#ID_x8 z_jhxl&?7n4NR6!$PZL7)eDsfLBX8GXf;TeRD~t4NH>xZL_bp zP9kk*ti2&d11|-Rz0N~D>?H3AG5urP2R>ysbx9ia-xb%*s7)yZSKGe>8Q8A1+;=*T zR@^O>GiE}<1=~$KhNUNpmYrcS4yub6X-T!g=JllcP`N3_x!`3oLUHu+&9gpmmgkCon-{1wjx@1k{vAy5p+`pF9JJZVsCMxne4>BnSO z8xwpqN=mk1JO34 zCs%I;K*pGA&YVSZ5txloOQZ4;8JYoCQRizTG1`a2;8HzKmAENfeT7NIj&c1#7UyGU z$+)l{qShs$J{|IIN6ym^$;sbD_d1H_p&WKp116_P%cJ`hbz)rk<1{$EsI3`oPPQ$8 z;OFJ+Mj?#@)_nn4&xsHF)RVe1qxEYna~pp{Y9i<ehi$$51|Qxc8X=U2)( zkD_3T-Kod1E23XHos=p3Q;{wNeYRw%B|&EbUrs*ICzrvIE+gd89aes^R-9ZO^=2XL z#%fIcJ%h*3$GoSztfh6RflK%? zlB-3AIXk8(bN@KikQnWvlRk9ul=6OgN(_0#c0s%Z2E#k-Ti~6{X)d!(N}^D?%vG;5 z>cn86fPM(p7fXgS4cThZ96|ui$};TTFPA(kfEh@tS42%sI4PO0n=BjgfdBAxRM+pQ z{98!*_nEpSg)NCG67)f7-`AM(bI2`!Sl_|tZ)Cx@qz-}(^zz>)Y*+G0R6bD$9uFO; zGuH(T51MF7Q+wVAU3m)o9*Rm{^>6vA8k%R_Qp-&oNSp&?>+9;i=_%fN6eqKC*YtYo z{o*(btp5Cv&dbk z8ZfOh#+0xD%d|>yNjPvrX8R|$ZGiKTLXJ$48%hJvZaEO;mP8%SY?+Kfb0wE5gQPRm z7CyuiMP@)KhQd63M2eTJPHC5}TMhXVjgG4?I3|a1FR?{sFwgUP)bYp>nnXx>+9HX2 z>aiahXrq3uXip2dgFb@ZXSayw)eWJrtTnyi zJYE-68^+DUrqmF-2Ip%ronp|6M$>4>AcbyxOo+Dp*d5XDQ$uQsfqGiIQt3F&x$i#k zb#Lm}Xw^v_L~;)XPzH8bT@DMD&($_2FRsoL=H+O23&_GpY-(i;OPTf3f*IKa5QRK> zleQAv4~cn)=|&@{R%dy3uksD;7X`Di<9hg6%zhR`htrn8A(lrMdIEZ|CEP9$2K0%% z2sM5wN1xPEPTLe#Cf3|0BaUE-BD#q`${Vi6G*B?W^smQr*YVjounp4k;<<1$Ndfg6 zT2JTAO4oqPatuvMe`Ah)&6x*Zt5m^1{7>|3DV4|UO|(Vlb*vyYh{$yDFda>Nh~5f+ zWU;;=es?H*fQ7aHCMR%8FHPOr9KtrEvu6ko`F*`+lOJlTwtV`%7QL84{Bz@?C=!qW zR2?`%UjGYP4VIaYCS9Lo{|g(9Bxh*9&6%emxaB87Qxz(Qo)o{q8TEcVLD<@Iqq@`2 z(#2GZc`egA$|nN24<|O&Kl=OpuK%9=M2zX0W6-m$Dd|==@Y(ub06jp$ziKbNR{}|? zx`}oTO z?13(G?G5^<<>S<~Aw{jx$ap0H7T;p2FScJF%c?U0lm^OL$#hI{45`^t@Cy?(9FJ=R;92YgY04sp zrQDB0QPqi-3(0%vq#&4wI*xxgu0d&En^I{Z(e|X3m)K$|YDAeF%2okm1JT)J(sCCr z7Z>G^wOhN{UF>0q5QoB0eImySc+F@FKAy{sy0WOGDzSC)YzOicTUN4Fj2j;E+Dm(l zdXs%VShvc7D*h3h6z4H^EG_J4WnvE1YJAkL=?aUnrI^ZrfEaRrBjgMrM~FG0&+?kF zjXiY)ww386tXbe-rI6V6;NId)#J$9U?fRR0Z5Ep?$mVqj>&(|-eRr*KU9WeocPh2c zCVD%2$MqJ??M+O;kPz-51#2)8G9gjcyY8Za*-+XLSoVBlE^)P${q_M_Up(P`U#wiv zx*+b0LU|e{4rR2E?Ol6v@S1AtInx)3w`g%--52-H{k-t%oC6hH;&_9T7o_75UciG2 z%M^9BO;x-2>nvs_QhJ-T-nTm3=_y-lD>Eif?Opi_aOLPG=mHVW2OMPT_SaNZu>yne zJy-H!cDk``$9KA6ywayHex8F`@FKHsE5su#^KGGq5U9u{FC>HV1Vn;*80y+eQHr79L~Lk*M;h9G?li z5DQ%2U@V$_b@chT$Qx_PjKo@6k(8Ziv2Eza0|-g8fz9groogmmM!pAE8P+UZX=4}- zrsEjZNK}&=sSBAH>)+8*gf$2t2JnGX31%&1(~!J@G7v%lECd2bu5U64)2MYTn_H|g zXNU`}P4tL1?OiJgjzmu~pq?+_L4D$O@Nb$WbXb0B?l$MbOxT2>4v^mOu|@ejsP%r1 zsHLxp-TH)}Vf(+^uWW2pipm7G{7zZtW&_bPW{m!$Su@8Ss_+GMKa*;*cZtQH8za$8z0; zaYU4kV!;Dg-Bo*Qtzf$C&a9e6-PO$iD-5y7Mn8LlQfK%qVu(3e>)Y_Kz&)h!hnK6O zh8m~d@w2#>$$%PO5kx8!TByi_#38M?$mdo1Le(FLV-9#yN2 zy5pC6O%5z%KtgWN?cw@w^{6+=TI9kQs6%MipRZ6Mh+2N1rBi~>pVG*Jw;uNmxnop| zW%p31@_$e1=Fb!Lppxx&)f^^V;Li4zH0g?!Se2|e%KNMqyekzd5OY91bSU~*%rcRf zO}Q}ES$i8RS5Y^mpS=m$dWF#DNt9*EmQ`;V<+*M)>`wd5^%m#DeU zx${cAd+{irkphN>6G#RY{tdyBY-Wl_z58(x%D% z?mdph{x4N3?(sUTOaSySx4y+GMU$nPoJJJi&AhhtltghI$f{V3i4CwA(2#XECwCT_3LPw1> z=ta2dmSEWhuYsSzvBAwIDV}leie3j?U}{d1R4!Dp$9F+4&k)JbMH(?vBwF|{1e>LD zdX&}lxN>y zrm8cRem5z351abPdq$5%up)arledl~f}MTO#V`zbClWa0mDF|27N8C>4!HNQ9P?lr zelExx>f>;-V0D1s26wDAZGBE)S~C)^nv`1K=qkuwFHQ*0d2&5s;sJn*37pFP=uA&M}o+$*=WHEnYJSZxPE3`S9v0Ymp(LZG2#}k*gUMW zDxOdwit`InIO>s6E{B4H(Nu>3eP}+1SS>9?56$c#77bev&AQN&T%T9=4TtWd0_46z zd0&>J{){g3Wp&Ij2wsTa(WS=ZPgZL^%tSQMs#l!F0lB+16t0>z@QV9M`us;|gwGrG z65xIxxG*26?+Ada4DeVD)9@MGyM>n+|JCW=*)^fDpy!8J>3~IE7XpL=jP!oQmJtX2 zw^oq6FDRFdjU`lw$#|eZehRZ9ksIJqj`maE}g`>YgK% zrhu;?e>8ONTV2I~$hphIaCoS+dkGyO@F`E^boO1>Hn zzUrClD~vr_tTBz<6)tB~;*h^sx*Y1?_EsIlN$sE*lq7N=U3+r$T3ePHrb$~c+6{zj zOP6s*qbbtG^ZH*IXCk&zL=;xu)M=h^j&`lNv?mxT??s|H9(?aiXh|R`4=vSvqQA9U zbDeiIjCf?4mk<_OOjO$BQr0)8_T*VRgF@kPu*PLZ>16G0RZOJPX4UCFrESAZAUC^M z23_89x+bKP=)}f#-go`1vSrey486%9o1+$caBCcHGL*hMW`eELBY>+`R~P_uz_t|} zQ00Ozz-5Nz2Wt=VV|X6XVigHGcp!VH>Odf3j|N)F#4HF9!_MhA!b%tHf1lQN?t0Ki zdcStCIBTQ7MU%Emh2^@U9cU%9Na7$|G@4u>0Fh1TNI17DH}qE*D*4pvLYo1xBE1Or z*^(_5QV`iGkmJ0NK!m0wEI1~VP?3WUlX}fjQ8SJ^*$;_7C%+$c3I@dJf+hxfRkCDF zEa)rGg4fZ$b}+zh!aG3eDdrRkQ1CD|jhw)%)O)a_HtKcm!ibf$v$|-@R_{x#Gb(FP z5tG>f?8M`jnRU+X`qr#A`{4a$hEm;PmY#{!7NJ`c#9uE|E zsiWm-ScDNj^WO9mH3!KR*edP?(+pN4n7S(*}YUXmAC0fc6aZJ6GWKW*ck7hBhu)dl+k=&((BL-UZSNh%f zbtjiETK?*_yF{-T#_)Q#czZU*Lac6AZ9TT;ZD3ubg}^iH%fU1({ZkNxW~awt?^ZXN zbU_U8ygH$k2`ds-8cGmRL4OYQZ)Bep9O;5X*+}G{`|h5>GQBkmXL|~^*XqcA-e2g5ArFYV%{`NoaV!hNvbW# z^P3~`Ot;L=ce0B$5SVVG)o^ET$b~5Y(2SDA5WTRN zVK@EF#VVL=@g`;=Xi+K^`p9N)2#~?K#QP@Q7OLk{Lo-UIc?U>5+~Bf}bv*@t($oH&6)h}yE6VJN_XV_AX8$Cy=Jk}=Ug+C|;3 zfE-*$>q9-1gipBK1t7z{E)rzf6D6T)J}duAQ?h3C>Kt-Fb4ZGr8_Y=`w4>3o=>_yf zrZ%pgOi3=mw(o|Lbw`^UV+CYdO<~PeboY!VB_98U8w^Vu9K?-+(w@>_i2@II>YK(# z^n_xR==ClIhF9n1f63G2kfopq1oRU<{s&PBKnk?zS0O0(Q2Vi2dmJ%&|D3M4dvI@(y4|R+ zhIOish-p?jk4?OKfe9f5wXy1==gV3xfWtv9#gZ9(cpdn1>7?h$ZAY5uI2f*K5XNOz zOj)I=0)}Adz!>ghBt~eFF>~wI)!h9hdgVgBVdmYl)7?1CGR|IK8v*li;z9-plM*u~ z&uW|dHt#<@ueB~Bx5*elZDE9Z*3vezrkhAUL5za^ za}(pmN99YNe;?`?yj zOwnAR zv}Gs&j)f2LJOI~fH0A@WIdB}4OM?ZE5%04)1^h)2v+?(&3uAw2ixC(a`i!FGD!Hm^ z5u&;ab=g>gVM)SWPS9+m&f}W2u!@x{CZ>T!fI#f=J$BCojjh?zC58*!kC~u~XBx+j zq|}yNMw>tgJ=KF1K7h%PMi7ql`fVPNyt~c6(JDuWM19s_VMAeP-(^y8aLokI_i!%f z`NXo(y_G!TJ~JG^E7jB8J{m6cm=j}+(JKxAKncBb8d{!J+-<5{s&BAJ^-aTSr5k#E zE=S}WT9V7z?icei+xI~WYFqV)Ql}Q>c)cykc?^jZoOF@jo0wd>^WdGZ)2tVw_tvc~~}qf?9;SLP|T*?^BKs)XIecB&2b)i{~F zBu~QKaxP-@4a}AI;tqm4sV-jGOD)ZfCr2)e$~9t^#MQ+{b+njE(|tBTd`0` z&Snw8N;DS4Xd)3#eGgT`&aX*P?8dg!YSI~i_y)+;6fZV8u?Rn~t{*BrC>=$YPknwm z2Sm1K9e@1MtaR@lRHIRryOz2tmR<8358tUF%n&9q*DtBp* znu4B_$_hIvZ%c{IVH=kNL>dl-29w={Bef`+b%g*(O2yp=K|4e)tfFNmq%lhAR5%tf z+*kk%v)`lgG$AJBz# zvsMp&lx>G{VB>UdlNt;?k~{#&OQg1JvF}ak>;|}&gHWjo@yJyU^`9h@OpVZ+TPZ-U zuz&zC0k8^s5I3d^-XTUjusWR?aXs%n78Fo}n34CQ5Ln*mYLN2vuJyJO!Iqh}zH*7R z(R$jz1?G}QE~L5Lk)2L1eoGcifAGHEJJN>um=4xOFhoSZL9an@YdDTp0vF0ZtU8X zx2+U$xU!wFyoW1Q3aLDt^R@`$+)896>3l}(*qLTy>^l|Wc2z7%8K=&Njn^qxuDTs` zqSAK3Nym6Es$!06msSF- zYxY?5;ObFvk`#*ofa-l;4F``CoAtj>)*}g@9^As@b2xZU^wBKPpbN3AQlAxiASi>S zicpl;HVkvXdWQ-SwNvZ0$HHsBhSm~cXpX2bpJByufv8ErVJ~f@g+@~YXTmF)8hwN3h=7*0T6mOz48|d zR&cG!$=pH=28%%2QD7z`9*TwB7t>>Bb2Kw1#|f?q!cpi}fP1R@+`((wY%H^_z}Z9x zA#V@Cc?pn2tRD(Xy9r})5a_H!BCTIFr1Yj+h<(Xyolw$=Lvn#@sZOOvw|EEy!#N}E%wS;sd~!D1~g z^0R_B0FpyxR&DOiDz$wqh$IfpqJ*N^}Y&|e){?0c{}eIzJb zea=@@>Cx*ut{Cz_R+<(fE%U@o^oou3j@b0A0=U)I&Le@50h%1ad`q_X1O4Od)<&?xn8OCNRtdo{H>n#^Qfvx%(hBX^@oAQSa^Tn9+Fmp z34}UX7nHDnqr9+UtdPyAJkvaSN4}uJlykdMmo0_Njby|n7Ljzfa4F|v4?!jmz>Rav zb()d9J%QwqW7&F(@kUwT=x!HdkPvHas*-pLaoo!F3tR7~%`zS69cb-avDhluAp*KW6E@sCXg>mY znAB^j{n%3kS1m0N%{vzS@mfHgJn5u`+l~zN9`WpK37xu4?2Else;Q#Nv|GJE@&}ez zvKZxVTvHv0%2(86Hi=xbQ$5a;CctP6FG{@)~vW1m7HU|6S+WMeLZC9Sv~N%y(8 zQeT#i_9n9B{?k3~1o8Z^C`WyGkj!9tS7ij~ew>xI0n{pw)#!tC0=F2|8J$%huo^`# zdefhqn5Yxa8&{f6GIh@@$(BO=nqHbj3Pug zI9f*J5Gt)m=QwyJO6%=Ov-`EpOl_xkeo^ZR+}SBe=C)7TjJcXDI6*Az?97yxJUxkB z3{FvMy)R91!K06hmrsVvSuFo?QUanC-n&(*n?71Kyoa&)RGzsMzlR6?ED~m0C*2Jt z3thSRgILEu45-STf9nvshqc{O&kAe^f2SzIDRCT76kTjGhR#0k5L6=4?%W zS1xqQu62QBXF)XTT0g*=?3%54D=RRdI(H)B8jIOpj!m%#+K{k_!H7T^E3a9LQX_IQ z6-muYfCd2F%9dGWfFdCge8AM3#fp#*6?aTTm-W<$#p$-ugG|(Fh0Y_}mat;%Tn&ht zvDDRgNs14pTM>t)*MNN*{bz+^QcG?JD;QqIu&27fK+^eO@!B-FUMgzBv0tz~Mv7pp zSZ&s;`(Cje7Ri^YRQKC8r^aWV5_nxK(48>}n7DDZ_Fjz5PiJ)w z11n|Ma9x=QrPXNZvghhGEX=R1>@CXnYF{Fw(U$!_6n>&r#9$In0EulhX;Qwna>cEztyBU)f^ z#iNv!#|ZADy8Z0{K+**qlpa`$EKki$E)cjCd?*5eHnr(s+5&?$okNHLR%e&DRxF`z zPsqcZm2ED5f;oiS$SzD0VZ@Okkyk}>6%<|j|-(H5-VQT7Fk%v zA4jv`U=<{8AwDx0~%)kdt$D{&Gh zs4x}?IteEIrn^Iz4AwY+hne!)N)gv!I8-dwGyPE9x51jT9El|v5EC63xH~XBfl4g4 zgB`402ml8zus|6IN5(ZX)Bf+K!L zKXJWZ$E-8okob-e$G$qzXXrpcYWrIEtw0Ft5+#-ju<***OA2%`1#~3Q81BF`+4onp zL06?qrMHw7dk$EV)5n{w}&h_|@(2hkxzjY&lC7P8UTW{r} z2&phLj&qy3J6%_LkPFVLYm}-8!cTgJA^#tf%Nj;a4qB7|_QP2IHVl(%9UxF>DdTjZ zi>h~;T;@4hI#K~C1&?qN#*G-9wJI1(Y%;mze`(v=k5^g=Zra%N8NG?=J z7V2?g+gXg!u%aZIc`YmS$X080ZxKp!mnqR_Y>AG1NMSMxnc|k2bv^#(Cav7HD~BId z=H-lPB{jUZJwpuWZPNi~5md&wfe zZ$$Yl;*VnW+oaSez#gFrXE3ri7e-wmK!C3y6*nGnfj}OgBng}Zw_DUYzb^~ujt(|>m{NqNg_O9z#VJ0jh z0K38%FYpkD>t2}?6X zx|+o-3xPY*29Xp=GfUS0Ke#+uSNhfr5(?V(T;-SfTHjKqPN0mRhxN zbz0f2tigTqec*Tz60msT;JiX(__niFsck=n1xC*{v%Z|Vf34LV=P5ZA7H?R}5$7Dd zUrb$D6;b0gyloK_p2+0ctU!uxAbRAjb{B zs8+CDagq=9sZQDhK@82U0CceGC=8;OSI_dhmiw=e(M6mSR;5~Yn0MAa2t5z-(#F;Nx zHn>uNT%$#ay8o+n!%)C}KvmC?Y~W(ULPX6D7sO<0Sb8Ls9_U(H*DZVAR7|v3)3?4X zngC2NB>J}Hxx!j)c>e~9T^tSPvQyw?ixd#k_2Rc&LeR6@m6Fum2e2X^zy(mBu~m0q z6;rQsZ+mfD7g;QL6)8vFw~hBP5;p)sJh$vc-`jm7zZpG#u(&DU9kGlvS$#X?1|epH z$~8VSy~_kjySj*N>b+&sN$mnzQ{-}eYgP1Jp*jOvCoiR4CyLw3rm%^GZHZhAj@3xOGchT3(} zGaRI-+r*9RX09o_6sD;SY6o@gy;?9EeK;ZIwMIsCWYC^5s-Y$wqmBg3%*Bqn?PArX zsS+k=l9hMrOZvceqqQW6*k(Ob+ewm~2tIhD`Q-7yX}`2Qvb7#f(U>ffSkatiqQARzzOuznkoY>54X#>Cnr z+*1Wa>R&b{f|1n4wMD>7GWQ3o1MjWYIwaBNm2*`Kv6$9)wlEr8z&PvqZs`S>dJw60 z9a{3@8O#*rKyzid+NsG53ElLY5Ia|dL;+l}hsPq`lhy!Nx5BC_Qo(Jt}y%7{d zCcHEZW8WGzX6<~w-novn+(KB^O_dbl3zEE&W!8E$O3$*C(!x;3DJ=|)?@}zEus&nqMFHV%>@ati^6PypvbpsVr$K&Aiys|wxhu&qnf;-ZQIZl)8! zk5>)1ZwZwNq{Fhdg=H$4%w8!3nYghswf8h@ooda@l3Th1*#W5iZHK8HEnbKxjcWD5 z6=vH2*Dj2B=J;MNS>v%>EJkQJ)#OQ}H9)d+A~(tH1nrU38o2D3lpDlZv2V=l;}7?!nyJE4Oq3sE1A%74LIaeeUi7-9d?ZbGMym(c{Rr(o z^q4P4bQLr$M8x`TW>8hEM@Pj9KyIecfAtBe*P(y>D+AP-UD|Si zgr%1NPKX5Lz9=q{EJaB*w7Bi)3Wqi(7y?K}0f$gt2}^55uBGX-plXTr`g$C=)=1oq zu8#@8LQ)AbY&x;z=6HuRAjGke zy;?B_3zHM_gSXNptJMyzy$8}c#5}+~M=s`MWh%bVwnXf))?+zZ^$bDad~pu}s0i-> zsCVg<4&czb`&q2YxtNAqhBabGol$7u{+S`)u6mzy{UWa}& zojR;_bE4Plz|aFYouJ3ia)H7RIH+SL<)o%I04O?_3Yxm_`ov`E5Z`1>c4d=2nHUSz z!^Kk1BVFAMEjNHIc$3?8#f&rJmG zJ|LeBvUyLX^u!wJ!PI~dJ5?YD4G!A}iM?aqdLVbS))nG%unvuz0demm)|@v`GS|6u z(1l~&9cU?c0P5Pa%Lp+vQ0eNXM%$%wB28Ma9)HB51-E&nfPJYRLaXPssqF9LWy^w( ziY=cT9v2pj0Jv;%h9l?-%ITz#D7uhS10Qd2zPnIe%3lWDPEGOtc}&A zSzE0>G%iSosf@^60SwgwXV<{K<9h)0N!A_2#FVj zX^=m4VCpE6mwB$Al{%6%OEzG`A>rDT}bGV@eJ6OVG$h5rS7Z=9z%o<^d zAxy&27I>Bx<9eevd1b*FxYzIkF7(+sfmN?7VNaDPuq2?+1OT=QBP5zORnH0|t61t8 zVq*Dc51Bu`ztt%zOo+`MaL-YQqStb`?u2u?h?In{X_57_=2rQN-r=O06T-1`K(r)9 zRceoe_ZQ`LgO}4Gz&&_RkJ8uW|7Y*ber8+q`>torYgN@d?BSelk2s#vVA({Dg_&X@ zMIr>SxQL=eA{Ph=amSy4#0?kR1Q8(tN)(H$2#G5Kh@ixnL~hGgNaES;q}$znx=)|( zbIyLJsx`00@ALgVtLi;%I|_rlEo~ortM^cE)vC3g=lA@E?+`YDhV?9N%Y)t&ezxmT z`I>AX@NmX^dao~>OX4&t!EBT2DSCx8VnKwk?;k_kTqzJ=+s1BTTUa3F_XDSM;Zkc7 z2SF?%zc?~(-*NMoKD*wDNAB6J%4VABiG#sIWcX}-Ou;$Gj8VT4jS%{13cHOT61N0L1uC;oSYA%XMpzmg#c*JY?o~AmAT}`ve6YO30MfAWwm{t zJp%`pTmEYqEqFn)=w#{?hypr|2_h(~4jhI&Db%}iXZLo|00pccQ(4-S43=InM{D-# zXI|UA>kwYkw0u@O05)|dT4}0aFpGLpDzmBvr)qK#Oj68p**>zeS%W@z{p5M#n?nh! ztkd4VNxUkcc|(AN!PI5f3bfp#YCa0k4Si5cfZqX-?y?n{hF>$x=aveMqMFg2jMy)XHj4d$Ik6l##CBkk}JC;_87ZX(u+ztwPkx?$Y^4Z(C(NVvq7x11c+Us6cgPCHvqdP($RKxn@DeFV{*N- z_r^ZOSd9=EgelCNK3GW) z(w?PVzyN4n6v;vEo0N{+Mf!2-quZ}HRuMpB%~klV38Bx=7E0Vhi}3$^-}9@ETQ^sEMelx%aLXIZBoa z0I0sO@ai}~3DE{&j@Zr3Br8AT6*o1aDD5UI)XXH~KG1a; z)9@U^FaPQ+GH0H(K+a(N2td}9KJmPU4x1F%U_1T#tIsDmyMLuRCR z3$2g=gslhI7>s6^r7}!GB1|4YnFm2OeYYZ-%Vvd1ld0i9M`2+^Cv5lX{i}L!rS70% z$kgmC!|WtU)>-y*W!VpGxyw_q0e{ONbsJiatU5kF#uPQRfa) zGzt>5K*X8vHp|&@^Z?&KI+z|+IKo*FVtYQG z)n#Wnv<)M4SEV8Wpa$p;Mk-daO~XHj9cz zRTSRcvdtv|;**%wCW7irwtzDaUbb0ea%KygtaWbz;wbN!S-|BDAf9{^S!}oYZ%1x# z659&fE5IQ(5(sXT84&CcKh8A}I@sq|;d;CmmUB+7tbA+(WM=sp325wqY1t%zgN){H zJ**irClu{rZI!iHRC|=mQ4nWCjr8|cWsOzoym^VJV3WZ6$bTj(LzR2AIw%Vh%VhSJ z_26vS6<6wa&f+g8PCZ;RiA^M^;!_Gr0K^+Jne;eUmD|zy!vb6GQaZ|fPFlMS*M*{f z@J%lhFZ#XnB()+Y(y3j+jaW5h>>EbIFZk%-G7)|WZj>kA@cf|Xg?I%69T738c92p- ziV*X%+(oAQ`jz_r2YZh;zZL{2-3Eb^`v=Xjq-2=rt^kWv#ZzG;3t60`Y6rO7TN&mE zQ;WuJ>^(sKaiTui&kQpM>!cxEvd~W+?fNEtKg|#FG4#`okNq0jQhU4R#-V(v%dTb1 z62&rN>*n`idc9pZO2OfxD(JeLp)Nd#Ls?wFwo&yvME1y5rf*^pNwWF4q{4@7Dmi&P zC7spck^rL2P0jYTqhUHz#vw;b93oX|7AWTJuq0TGjcMDL6g@S}-i9IN)IGP%q~ z305#+&Qtf|Y3&~0b|2e)tOcK{5(_>Y)ESfTMKB{edeRfHO!9Vq3`ZG`rJ;-KUzWhz z@RFc7Vt3mstCWaJ-wO7_lv_xY#48^LLc4s`!9wOv=1uPxO#&E9^5QE|#Inzuz(d&~ zyuPx>-#QE`slv2BD1it_>sj`>^^})5C!o(P9awtpWh!{soTP6zg>ef@8_iG{tZ1gC zeq5HH2Q3>A{Vah-19+TNs&8E64c)hu@0<6Gn`#C1gho-@Y!QN8oGEu*0&9&Jz&T2V zGx#B>O_6fAdD!GZu|6=ASC;>a!D{~@vF$|&?*(@h*ehp37CYghaVQBPZ{dQeakte7xh(w%% zGujHLRr1-H_qyndm3j1zK>(KWmU}q28W60b9|n1JVU$%uI_N-P(`Jj)1Fy(nu|Gw5 z-0uJ0vgt|fi9*x!T&xuz908XC?vhXn(?_1>IABYZu~);B>nak68MGiWAxA`v=}vwq zGK(VdbwIKxQ3PPNO5+4q=FoF6w@R6F5-QUCP;QJMNWnPH2Q+JP+B*Xzt^gt@RlbBM8?)l;kCJwPYX0sMB zHDICNOU{rE&d3_wpNc_PV!^W#)|7sy{jVh}PbJjIS{Y?;>tiVx{CMAU70}iFgRpyW zoq-T8HYce9J}nkdF;kMiRkyym6O(h>@Lxlrl|x zg|ka=S=OipxyFFEZl+pJ6O(TWSqvq+m3PzX0PJnbzCn)&U|F`FRaC}}(IWv}KczRw z&W1PK_~u!JF=eX*ZHmZlA*fYxik)W3*@TQtF;9}Sas2bP!`2(!RD!lL{kgR*eJMcE z3`CybUrUL*IGa5Qie=?1*(Xy{#xGfL!2|aLkB*D6G>a`;&%EQnM8hG39bm6mz`#E} zYp!&UVdz|qkHU!NiOXdjlS)Gaia934NS*PzWgZ1zBI_CmW@MG}M(@=JEV?^o6o^Eq zKMSLTb&z=m$MAr_cAXw2oN%9B2?)JQTJ>qAZqMX6I5-`M5!lFyeyIh)7S1#Uuk2QX z4io}H9j0h+kXqKXh+;^fM@R#v4eNzzF|3~~>vYdY3)VXe_DQ}AHO`+4ZkMxXN$#rc zRwS}Ua5=Zif~f3D$j})CaSui?iLTW+tqwxZt6bl!MwQ$Sj(z3>Py!=##SbT*U25N9cV+);_ij!F%%8AN*6eAGBG-=n4bRN+wq%2>aw#&W zsz$r%w-`t1Obt$%w6h0fr`Kvb7V~#(E*Dufta3cu%HCwXl*I%}_}jzeC3+n_p~JJR zbcw>U^m97PT;xmwg{mktAuX-sAV}u)YF1}BZ051WCJz={02>$DRf(b~ZDa<`QQmEe z5^bBv>Bg2J2ihddls#v$oL?ezCwQN7-ZEJ zAUNnDW-&`Z(#*1-(l(l~rIVDlfmD&HF?8wS z2aBALMd>j5kbO7?cNauw@<7%IYzDwHo;hF(*Ip$xeOZPGS7g{I5X~+WEwv|xUa3Q* zxZ|A~z@?~>t^=^BG;V_bEKD4HWjbkITBf%i!=r2k3_}su|(g z%>lv$eGq6LE`KQ;D1E*hFnZ$j+ak+if{?k|kKN-gI(rx3QSD-niDPhU=!pHGNi}6H zB{u>W8Z^cVAxYiFVuz^j>{v$Buqm^v{^UWF=PyY*%bY78oYA@{odpq6%Xq=WqJF;G zp*xI)5DE-%3YcUhz;>@?>5J`#edd(~)U}(G**3W+9ps!lIP_?P)W%OBe zVtva?ZyhLXIOt5aFo8!5Vl>#s5-foRQynvi$VS=Jf}RQUZuG=y*?NQ*G2RX86JpP5 zjU#eosus+|R+k7PKzErh=4XQD=bqyhpr+U_WH@jsO{08S%yzRZIji~*{0@{ylPiQ1 z82LRL5a2g~o?a%e*}lWNxEf9prR6ltiLHs}%%%|OfsrAp;78^{IZh_WhFd>zFu{15 ze841+?``tA2zJv*o~C#4+Q?AiHEgJ&e~Jv6N@ZahZ2%fJuu_#-84?u3sk*iA0Yk(N zB2>D02isI+DutDR3|=0RMlxL0GKlAX%=h6YJXuzE5ZeX?q+<$vsZ~$0w$~m3!lRx| z;Ia41RXV2cfF^h7EF;T>a1 z-!j7{!)_&j>z!oSCiMp8J-?)JBA!RznNr;MSL2)TXut27?A!I+Syl_oi#7$AOx8pf z5rJCgmXJ*2=xuPx203hsp&9!k-FniII?CEBno{dq12V9#0?FGwvod?BCbh}3*fLVp zM6Z-XgMe38XM2oY=Cg*%)(C7RcVD%-q3=RkmY#7$4|-VwN8-lYU3$kLS0W3~=1hI) z(CE*DH>887`U(PxPZ~GDi;I}5!Bg44Idj>~D`@UaW{Xu8RMMtprm}dVThdA*Z7$pi4lyx((Dq`7PtuEy+ z^%}Ae3x3x~Wfi%m$+R?1;Sl!1&P@s)hvlg6cA66z$JMB4OGzeZ;4^{GLyxj=1+;D~ zupG$5Gq-hJvYmkQ+T3cv1i51FZ6lS1XT3og;HtniSf)73)Qd8;^I^l{4u1SRQ{gE( zz>(>|3>u}sXx9N3eDMkEm1U@>fSqci>V-aLo0b05?X&0$hKMDkr9l~8S;>9OURmJy znpy`O%DtKfi9ql3GcP20$^>Voa4jhJTv-@n_R(cms($i(QJF7?(()=a-CgLwSK7~Z zsf!dR^xFfyLn@_G({$$Mi=_SZNhbWzKi_gmLa8Xs_^Xt_4 z@~J!8>L1=o+wegQc(~@xk=>(dZ01?wygu_4B4dR0BJXbR{i5+$Z0bMSmidCCFM0!;96n|y~^&jXu^{P#X9=3^XyMnh8|G!VR)DBwdu)lFchQE zW&kCjiPb%}53>24RTlHycEN3qSNPKsga|GgVy}5bJ90V*8wvJt5*61o&LRd66n_Tw zD1DlX+!&&~D6KOYPppzCX_ZV*;lToQ9#wv1D{I+zE0&S7khod14(h^TSaxtdA>LtG zBK=sT*U0W4XWtk)bS-!$T_+zKS`G9CA*WXAU+3XO=AC&zTdgGf*}dJ%yetIyN>e9M z3>?_$Y+3T6EN`g~o~83_?U2HArx;GEDt1+>=Q1o_t-#JY=2ud9${=me6vSL<3LHL z{xnDSP!{1o>zT#!%{|)nSs8sU5hxn^P|kMR^4mMP_S@i0?%e`COnz;rWiygR~G#)zz zh+;X3L4-(fJEqcR^s+iw@LdIAV|9SxM9sUEovKTK2qv}p_XIMasK8I=offg0ndRk8 z4Vy{i!al>UfiYT{I?y_dt>~LqlG>v>SfuQef*zPXgVP#K+zkV*5yNU2l z5$ncDhl8(apJzjT&zmMnZsN}X)+CrmQ5nl@nxIm&H7KVk3082 zp9RJ;HnWrTlNsa&4-%v3Spco#z$bkskbCyjk)f3XuZLx$a{A|;MR|iWXmHR&tUxM6 z@y}u`#gaYS;87^D+q3G%RG!cD1*f%8xmFKPmH`goWLZNt+=o3SELj4E_Di9G3d|Dj z4}+a+3y|M zbqcxnQo{~O#M=dZcTBouF(L8XT)|g<;C8JU0PNt-j z4*n3Q*IY|ToD<&)S31UuWL3K)m+;H#(tN|HJ~#dSDjs%}&!^a40QisAC$CdGDK-KM z4DISBG-auw4{{x;Wq9*At1{bxh0IrBN>NV711LjOw=ZPoz_3*c?S)@2e0U&s92j^s zQCcf&UZd)e5GRhmv_ac2jiuh3hR+5Y=5QcT<{T1s&>yPcfc3Xs6l0Ah^YkXm z&Q4SUAw!%s0?MTtGkbQKIVP`;CRfSgg0mYaJBe(aEkHh>5O00PjZv`aQL^zplf;f9 z4s9rlBt=EPG*J-e132Gw@(VRSs>CYeP$r96?IN?W3+?dt%phZ6t2e{6IL!``N6m)K zl1so-5KG@R!+#+m)z;Rqm2wt#qc#g8G zMMtrBj4hyZJFu_igWc;;X~@<9jWf)_@e>j5l&QSyn{pUsDjR*%Pl@9doo!V_=D;9! z*sMVJ5SrP+)N<1Va)lHdO6g>@fXwaiL1~8}Tec1w4z=|92FuLGB{Iw|V#%UOg029` zF}vxW7&rv>)Ytk###fi(l}}OWhm7?mbV4;SNWGp~HLh1-I8hxcRPvwlREN?P8Q|hz zdMq;_1SGp!-2QppSQD1><}P-_A%{3KNQZ-Eqo?#r6-uWs{u2p8*>yE42%ucIYdlIO3%Oq(uWv@|$VvbIATaR=3rs%jlW8G{4 zaI;g;fNH(`etstPwyc}pV-o*9a>IlBEI$W>Z`tLzT)f1=|KSigMM#Yp4tZmN?n+Z; zEDv%EL_-wp9ja?9nT9a-r;yfrL057)2kv~c0PbecW94>ISI&1PTg)3}7z{KRU;yO_ z8JT0I3;{R7db|&(#O+eQ=Vl*1u&DB1|IA+rcVGI&@apPQg60elUk-ooXaBlPy8hCi z`}Z}RVaiO&2~Zw9U2nmXz8+M@4izH%ti1&)hA)l%+-`nSU_k8~ka@LqmhDyIt7Dqg z$d=;5kla6BnJw%7LkKTM>P zr*_fa{;rdRAQ{wA&y^k>!Q|S4`ZvmV!nJ*-e3$6MuRcWMdo`A+W|ldh5HHDt%)`K1 z5`0m|O$MicCN59xs#~(_bxd%tHbCM548DFIVPr8NmsUb+O#v^mH?Aci|`LapiIOmE*zB2G-IUaFnq^#@q(n?}h7ILOFHeqt3F% z?qe}d#ACKKgYd=c`A$P4+9mCRz(%h7NzV;wwb8O&0tk~`sR7x~A8Z5PShmP#*b$;l zt!jiSBk}$qn}3clAIJ^Yynb;NA8AmMC1x&tCS{(exw`p!1D;1A=OwKRbU-<1?K>7@ z>p*V{c9g;G;+0bmID2>$?KW7|mA8-1312U3jBy99mUBPI-kAH4oQ`_^PAWn^h%2g6 zW_CPhDH@6PIcvHut5|jz8j|#cl~LBV2kkzsk9Oa{lvXmuYb{tVb`P=3rCIEGnpIWQy_SyLG-Eo98qb`%9CaG4NCWa%93u3|=<}^EvqdJV5f3Cp@>v=nVq4t7o0 z8PxQxEf^B~ZV|eL#U+kv;gmir9kE5FlzW;J^%!rE^uoz|a#OcGJwqnWFv8?kW6yYO z-R2-F8?8}zMS7nh5+0&;G3$#UJZC=mN#pQqI|MaIj1Nh}4zf$=i-SwGf$t>S=WtHq zz>n4w>O3v0ih#yJh)9Ueiy=yp73$9?u_xQB^swu+!>yHvHsJawdzPt*ul3PL-fZ?3 zPQ9~gVOH-KiMM_!<#C=@sRm*MQ~HEJwZsdjpQ*3npmIun#4iv+VOgkk!69PH4d~Xu zp$)xwSAu1?J=WT5ZAbUL+7@kE3uVCiNKSFLW~dzP|Jkx5t=9?ZIX9%SkVQdS!;shA`=~ zQeu0LOqq|D*ZDWwUc`VoEiOh;Wj>`Iq6*9wH1qh`_rW)XILWacv6?R{Ny*H=`x*=yD%E)Y6v6gu zA!rrXA*&a)IXDRIbGi-~u0%5c&ePsH$TR%8f%IEC^=1K4nld%q;RGics#N$k%3?`? zi4l;T%Wjuoa%$lwis6}Ldg)K5u6VLOgYY22S^#2gPx5ME<52q27n1W_;+UBXTs-VPeVL)Z5nq;(*KGsaZKaD+yc%0#>m z#zc0F4vav5%B*vbBKvg^6V8K2p05&wC?qY`i;9@{C&7D8Psi|RDbB0kWA*VoZ!F8_ zna>gk2?8TiTypI>!m&I@dXL#&nI803O4%zsf6`U|2Ac<87zQx_-A@P(p&D*g%e8`U zuKsG9?yYRUS1`uN3X?YpnJn%pot*7G{BWZ;EbhG2nKI!&>8a+=o}t=F*~M}rIqMEY z2wD==s-l3dtHXOWq@fS?xGmtyVbxx3c%@SNy^2aGP5OpLdqIPNC{7`0wpCyC6wiY zdrNTaBb9UOWo{OuAGec&HUIq3P0mIMk%kvbu{4^qZJy&v?DrCEH{a9<_?!9N<2(4|r zdkb{`5<(@mSw_pGI?E`;i?MR?bnL|kZtdCC>xVj69*S%GdcD#^dUFh4=#h4_PwuhV zU=Y~D`JSG_k@D8Q;e%zn&G4YIeFBI*I1_}dvbAilvEb1yZu60zCHYpDYO^)Tz=dGh zx1*{e4x_Fc9P7$6$&%>HzMlE}WUtRfoe6}rNVX`;Fb@A1HG3Fta^K)-E70{0&$6su zYk=p0C%1G-6T#<_u9fhBtd{NXZl?aMbE$smG`sqL>f+9j8{gT_nx^kE#7bH#$@lgd zlX}cc4Z34z&jNLG3!0dy!Q$!3{)V&QFs1U+S@n{;dy#~J8ObnXV7A8!9=$xzmpLL` zTn^42vMR?swV>FcYGnJXbkSmv74&Ss&FG+Sf1qsb!F{@}!%u$4Z5Vo6pted5GN8iC zqfseV%+3+rEGyZN-Q-R#qE4{^he_pzWT~Q}Ib{cB3*~hm`Q#GYU@*X>nav?PhS~)* zc!1EWR+sJ9gwRe|8uRof*>q4VpRz;PO{1HkVeb&ubI=dbK7ovGE49U2AgiRrNL@2i zYTN{uIQ7nBY6%#-j{I@KMqC;?Dz_&(!Ov2ai3iH9FIsL{jqZ=}$6AM(h_LG`&DrAKmJTNla^XU%7r59MXv7Fi4ek!SCjK z@42T8GOlV1Dv3O^|CJy4H^Ra0=@AQu!vi9{>fbm<)g6Szr!_>b2i?Z}*JYVbC4Hh(Zw|fgRMflF|eXXixQ+Z0` z;hAh%c&tho)~u1wKSh~7$;6Ri*}-lpm?rMD07w*Cs|=dy7*_kNZhjG3%3ju!twW$o z3xIwO^tN@Rfb1%Q)-;DLtR71HDsc=d>kr&)H>Xnh*~<r%n1v;XctCsl%#94_^jQP%$lAE$T)xQTh&${3-om_b}bu79XJK*~Mki zSd{A^5TyVWuM4An9@9W91ys7ktQx*Jr7mTg0P*f}CU25tcVk&n8?FIpw48x;dAf37l!*c;r5+>F1)hf^npF^dwcOKY$+(m?3w()?QQtr<8OqoeD!z2 zXMXg@LVtHJKK04U=GpFz0ze|@b4cpURm=NMyz6(vo#>4Zmh~}_ou69y%IFX!Q)G&3 z2k~z9i8e~y7=gK!M^K-&l4^J&;olV{BsMcu2$`V{V;6cri&1|^J7@KOtIOSS>-fNZV!wS z({Qo}NuRjX;l(g$*PS$-2DWo;0lyU@HW3tv>v^#o#k5KDSq!0WwV<@O&$RuB37gto z@Zo`If!nmdV{NQO;dURk@8FhSWxX9%aJGZkIxB6A*?HjfD#bHj=V(=&>YxRpHp(yF z#k<>NZ+o~Gz7jfQQ(EA(_XlaQY__J!TdE#}Xy@taKK$aBKC;uT4@27tY#XBQbQUgF z1RG{j0Nz*zYudO$fe0RX?>(gTLT4P8XB53i`AeU_XA&-I&q+8dr<_6K5oUCrS|=_N zoX5W4ytzi|eI3WQU5|rky;sU9I?U_2m$*Lb1F8k#WNa-8VM2pXLN~oj^|_wGkAk4! z-uFtEIci0EW_fSr;J;k#!sDq8zxv)?c-=TWWr<~Wx=FT0FuSmI;ls0SMiz$>R_VHf z;^ZQ@#Rl9zs}>~^GeB^+$H+{);*+xIZ2jn50`jIWZ;s*a%_)5L*MA{AoZb&F5AP^z zR_PzSCrkzKTlNsX{`3%D{O}Kj!{JSMc)SZ&2_@~D@J8Blg$5yq)w0I&Ru40sU9a%H z)iZiBPpS;$-7W(+G)MRPEDX#RiNo4G9KDaGc43;F*-lwhH%G8Hi4Zi|ePmmI(eKs6 zeH&g|Ci&{!Bz);}UkgoBoQHI2^ia}zi{jED(nIIvVjsfaZyxqYkInYnO58g0MuBME zG#f!^ERK!j0Rh>XQ2}C5V)uX`1K7T>0IAHCOdiE0`?Q{L*} zTrJS$yE+VqT^K(+hPtr>e80DYpqIEtkj?I*9wi4VEf@NdBmocoC`m-&+I6^&GCYe- z8wa6BbV-PgkEhJFW|PhT$)3gIBFR}b)Kb`1+WcLqhBUx4J>FlK}G@Na4Ok2e75w%x zE(x$~;OscOaH)i`b9P{ifPEM&vERw{+*nr8S<1QAm4mx1T@UG!nqrGIjNt$t)#p=R=<=cNPs2V;dVs|5;$~ zL38yd3x>VygppYr$@bB-MBsz>=5q(jysRQQuHG-MR;T`f1*JU%`-XuI_(WAx^!)4@ zQuUP#2tri`&YE_^( zQ!lpLLyiYuSFXct6Q?>Ja-0;5FHGs$dngfOOukEw_Fs% zM-hvpsgRE<>HUQeb?uV#kYiH|+MqVuboM%T!PzZV&g%tQv)RvPml$)-#92@QpQs*h7?~V#CG^xrm~^ zK0;Za31F~seRe-ZE800;`69!$MH?oI@4aJlXKsg^XgYlH@EN1k?;%glL!vSX=l7jr zHkd@Op$R|n+%be2zKo8Uqc)Nv%{&Wm?^eE^O-`#L1>~4IxEHl-1%hX14#4)*iy$^x zN&WBqnLn#j;n)7^e;%4@70N-qT-p^@HvjaW|4ZR}e)6ZR^nPEK5AxGly;PJgre#s| z0Red97lRy`49Uh-kQuHW>}1>aDu?$~=Ge(>jR7(B>srW|eb7a3aE^V%Y`~oBDtd0N zQFUrnuv>xSpu$5SvcQo=<1KoH4rg2yWCY+IU73gbf>D{W{wxp2u#=Ke2TSPK3IfD+ z(^CgZRP{$e94PU5q)RtgX62fj_}EA{bn#z1)|?$cymz|H5wYPztUc;Q@$e=nVZ%|@ z3{C9*?d;%5?ZBxEF_p$!6q~MmIEfec)lO@EjqIfDFkzU7n`IdpQ<+*uOK38?(7p>v z(}Y8vNcm|PEZB0A0whn}i(I``GEF>9|1w*dwZ?zT!o@1Vds{K9N<2f2 zIN$ggvFr>Ep@GYd>|0EIg}Iw0Q8kO#t$w!rL<*@&6Kv=uD&w@jm;N63P061J`HpZh zl9j-3EzUL$murwVW=Nvg#-%N@#%a2|TVPm7%dKEFMlY5kEOjl>5Qz#1%94b;c!*#f zuzBE!alAyI?$m`o=n>&#A`cXW1OyujZyN-cSmTt}pp1T`{DypRwn(3HJ*zBjUO^j6 zX*;AQ0m`q!`yYNB-h1!!-lt8{PqeFG4&>+d1^=DM=1pv9!bqF@ne$A4mOoAw`4}ZRE8%7RfH~9$Z}iGtJz~3XEo% zfwUOChsr)Kuk3)ZAkK3{$_*w|IQap~fdau{^olQ>2341tRTz*?3ab-55@9 zFW@|8IdD!gm+89F@;pU)xIpH7n1k4@=17cN>dG@Y>Naocf5gZ(Yi%hB3 z3(Yc|f#;jH=Hu&vvv6yh92Fo26?^;rTE7sF9L03r82_Pgda!_<3${b4npk#-JK}=X$T$m| zm_rA}ZnmO7+S!`Pq(!+-wPkl!Qd=e%T8GmxnHR*#GO}at+5-90lSE4pA89O8y|U7O zx^H#AUmx-?oJPTMn&7ERPM+~^_tYDq05T-X*t%AEMy3){&xn@M!QTujWc;;d zDQh@qJ8AN}>3*J}dEZc(R1}iXaA&=g<7^CqBd^<3OE&N@rzTm;T-yS$#Y3~)@oG*9 z1S~66A=nhCAI)wgHDun~3F@`Fw{)_orLCs>B3HRI>O!u_&5xvQ(kz9+gq8oapgi<$ zCdX|iva<*paE#zFEpq|hvIt%>JJbgLZdB#n4udS#+)KD9AC=J;2rEygZg^jG(qul> zf|QC-EUDA@-K8EBLGXfg#H=fib$_y9`N&uiXONh3D%x2(MzI4cpSVRu)Gqua=RWzw z6l#t=-FdwnK955ie(=-Z8$R=0KNLRy{%`&+tk_hEC|`E+_~OmBEg zEPcc52nYrln;;45Iq=s5O5d>;2Hv$A9CS{WR?Afp+H8=>?EH8qNwYb7X}>nN%UKMU zmzaGqh|2YrE+{L!Um=Pln8&1By*UM|cj@q!s9^~pqWoa9VBQBE`nC&{tx>diBgME3hjJ?=}Yx~@`bvMg> z_=?z8@+1!;bt^kf)vFw(BE+z04c=eP_N5&@S27K(_sGLtg=@TmMz^eGE`@#VDZ7q1 zX8U_fO0dnLcZqo$@Gr>$yzN}?EimO#bz~w)`bfiXPE_cT0aS7+ldI(7I=IH3-Lhpl zQB?Q2%K5wvMxK}4ar)cG5;2bhmTeG3ADX@$)|&GDjusQt7kdI+S;l^)vsfs@g4Egj zI1tKIx{PA2I4%yCym59%$1(=l3}%9rA)RF^nlcLW8N9(Cl5^lB!yMy5;M&^JR4po> zmuZNe+*?^0)OskQe&rZNI;JS(vBrT>CAU2fHuC;n9TJtM-dB`H~#jaWVp;B@BziU*@{_Uxq4Vk_=`D(9q@9s7k}YL;YswNrSay^i|y7X@F(LY&aCh zFf!F03jnQ_d17f`;qQ=p-<2OY9z)ea?W-)?`5?@l9SB1u&mgk$Vtop)A3BNN&Ikt+ zkXA=2Ff`#|Fny*J&6cADjbpg&g<}XG9-qS6TJ{Wdr(djG?!}`Y=2X4L{nAO@A7rRd z9hT*TX)P*XOb%CivA60Ud9=#@T#*4*a=e6T11f-?@aqEh+hCb`E$aFStOtLL>JF$U5Y~~6=HAE42ouaB7)-%;EO*Wk3 z#ph*;0tNG?H5mh)jGV$nH9UJZE6bh@d)6o@ktdgcyrnG)elU6%)bQHLabg6*4W=YT zbUOjHAs6=phyRRG7OjL8<(_0w8B5?pm70u)Nhwlbw0cT;mph9BlPw+yecFMN$X-`X zuF69IEu!2S+X}XkrqHPasgnqy*bo7leCCh`=d&c35Gadt&xhF0tzs!NMxl@7nXk|q zT`G0|H1Vd-H=Tt>yby3DYqC(X;=XD^ZW}(AzGbbfpYDm%FpWAiCi@4+cGVt zXKY`H;puUS_bKwJ#g4MWN_4*}_R-Qs%#gI4G-zn@M`VFRKkw8p95sLm;av_uP!B^E z?#rVx%Xil%JS->6n##~ToI>(oho2n^d3my%`vN{pSggccY(3bX={67Q|H}Xrn)C{C>uL*u!XA zEn6*G%cAWdz~`JnR6ARyn1wf1T341urXU9fREzAoZ*v7|DYlmmS)+ouLkBdo=b6vp zp?MXqEXd=rj^{TmDF#P?^~umDRYy@OZE_zWWyf?*sR9aD-RD~AU#9ZQDWjpES4Yl# zvY#*Qe(#&GzU}ZJcY6z3P?S((#AR)jT%LTg2YJ@u+u9XT<@=&E>3$nqINT)I(r3NR zvmnK@O!Il`BZ=5cL6PMDU7lScH?a*enh=A05=Adgk=|9Go-~}|O@Wz4KIK7!8+u04^|SYxELh7~k;y*2Glp2f z?OJ!K_cRxGI#b}%Jx!By?{MRXpAV(;jYuL`{8CO&u~!z7i-V-@BN-mz%i|#Y;jIP9 z&{#HLf#4T@?r(Uq_{!70piHl?UqpS;-}}G412B}tnNuIi#DY;$hkN?C z``QBfA!JP=EGa#`tlepNk*1xnf{i_)hgtNcF!Yb=-yNDP>@3492`<2aMjzPF=AbpQ zh>Dtr*SYtuaX7?IXJ7e4Y$~s&W;+G<#jGCeYyqvd>lco->cvW$)?IkCV1L-%hqf>6 z6852a!9dKuhg~0zjuhHW?by*p?wMJ5Sx%Bld$Bx(W;&@qj)GEO--Z*|R^$nR!r3!G ze^elNTp!8u?a$Cb-GX+}0iQ?M(eqRW%U}+C-V26L(jCL$;iK?v*2MV3kx|OMM4({X zJk4IJE(~;r2*KG(@H9?q>nxnDXy>q=v6XpL_*PaH)^o3M8!l{4jQY3u`^~f=|AeSS za{j3#aXOzuaOo4}nN13gEOlI&PC#@(s9$=R85RxH2&xISqWJYL7bt>kcKve;gE*TN;67a zmBpy~*k{0S9AYL{WU&>ouAj`dBcOhY=2ZZeWkZT05$Zarw-K_4p(K+NcfETGpSFx* zXTSczZ~tca(pNqoKL61N;g>)6k2H9=IUMYJ7XQ>BxgAxM{Mp=w(}!OSpSAD)TVMQ* z@E7m?LimyI|6!Hz4|N~9$9uaErLGOd^U5~mY@bc5S}pXTDJD3O2zAOk=l0IKRKQ@9qm1?Lss4DS)MGzVn{PI*I}-| zBZM1!?%(mGA>RlD2VKSLD(vn3)6%lUo;Hqs{%jfR=(vQVWpeK_2j1J-wF7{_0%y9P z5&_b0npJ(K5tu&Rfn z;Bg@5No>{=g!Y*aBZNha3gJm~7Mx;PxdDH(Nd4P@-DmahkenGY zODrvQ(!~sPj{V9lD^+&6+gW+kYLm~qL#U4rc4}76701gb@#%0@M@n9M5`Y==_zf_> z3{J1C>5ForBBCp1h~=7U&gT+bMYwoJPc(In-1Ip9aQrW>$qn7gb7>>aM^Ik52F;k4ZU9}&`ILARjTvX8r9#?OP?~}MIW=@MF z@jvsdC}DSH5k9bc^h-bcKZT$DN1wHl!?8Ps zpZQyVBfPK!=}-UIPlTWRQ~$PQJofi?9ToJJj_fu#`o=K{nWkK_Dx(_$#GL8@Sob1`%S?2Zdfu)H%^#Ru` zg8A3vJZMC$N5dq`^y+fMomz0TI09^wKuPPjDxx|ONo3~t`(~d+abOGldsOOc%b>GR zRh`tjX7oHQyH4ubsjgy0l-_T&C`+|4Yf#pNc7GeXd>55~Z0`ssR93GR( z?Q`wk6Bt>;3_ro8Huf{>72D6~-{Qb>-6ZX#bi8P)&LN*h!?L%x^kxIv$qS)>Z;R=k z@(`n{!U_3Fl&lArs3v~mSq?Wni`J@Jxx6uVHrirx;i;Unu?@0%wrW_N@sh@AaEMgN zZ5ltv!44(3C~@G*6gcD)9IitCa4#t~;Vc($ZFA_E!rFo( zcmdtu@0nVXjS5a=?|F!W8%b5!qJ#N^!Z+Ct99q++ZdZZMrUVk~ z?+`=21E{>aRf~ej;zW6je>KxeWp0yz+xaH!!TlIVXSuBIgsH=T&Bx}MeR!fEizXr2 z<$iCOLmmFwfB%=mufO-J;pP5ysP_lyA*LbxGX==s??0|%huDbSi*MMq|Mk!Q&*4k& zzZd?Kf9o%*#9oJ>>2GR>)D_~d5}sJyT+M#&=1_#|$qu%;bb;rAVN8$!LudE!+Oo^F zWQvd8Vr8+a*Kli|a3}Nwb2(OWDkN*aLx9CH{cEdr({u>qqa8$#->~4dv%vQ;@4{{D9FgB`L=TCi6;&p7F8?r8;B#=RB}qav$bfJY&AVJByAnO~@{ zEO`2$4Zihepw{Ph|MwpF=rz`sWfyZNi;jHuwSWo}Wp{{bPlxeN*`mDFNj~g#I8fH( z(cLh~Bcsjn`kZycfx3w? zWV-prn^06s=vzA|ncOCJzfWzLITL{hJ;FeF44Gw7g_ZkwqrYhI#mTh>rJHJT;kLdE zAITnB`!|;K(M=(9%$G|aA6G;EzSM+#mCDtwcJUKli=c&+_tVO$fXsLV`|8!|T64#7 z!oZnl%Kn`l>Vq)vP;<%pfdAy(py~%}4g#kR5PS9~E4|fgTpjaF#Z%8mfyU+a9qE;_ zn?~h{ea89$g@90Z8P|%0lD&Ef8q8%5*#9mX&2D2N1b_cIer$ypp0}9=^yP(oF7?yWN(E9JfKHY)S~2| z;5$fQ6_ARv6A~Ye(e`SYv18T zUWGp>BW5{J+V{P;%m3B)-V1;B$GUK8CV$peN*3h;W7*2!(ypZqS2K^G4AZU@)$j_o z4dv`DLbF!p4rHH&)ZW4BS~Ru$zEdx7?lb9IRz#a(68&(sGP$`~M7P~%v;N$^8U?8V z!`iQQ7#63nd+`|37F_6)EPZi+T857;JMWa0kCur(p|_a09;sSMvkM+$aJj3!oR03v zvQQwiJaztWWO{F&LU`xK_edRM4QtzCU-YS?jBh0d7eaXv*<#2n_EmtktI_5O98 zs{5$to=mPc%JZ&D1wX0|AVDAumSm>`vQKjbNXqCeCOD2jux~q_yvHBQY1(P*g?03R z$vzR}jr|ICIxpPj0`dlWo-@hH5Y@EOKMIr@am%>Lqt>YGXpX0q-yh0DR#I!(M9>EA zg`hnM=!4?_s-2k?g`BmXQHkoT#w$RBqahV*C zkxQHxF_5QcF^+k4ua;``;NV^Whs?8*l8u0wW2`DpT;IJU&^R_|&Z{h4+p$)0!Mo&l025fd1`MFYM!5 zpLBoMt0Ww|5Eaus6K%>ksTN{nalz~BTV-gh)#Um{f2TA2<)>v;%j=JmCjb)Awd+9M z4IVgUHd$ofG_GSnf7(iDf+K4XnqkvFYCq76T%U<&XpM^GKb@(rX&jE8@}1=3Bu<^V z+PRFy@>OCqS?MELE=Ha~Z##~XAkY#RS3l`$aD!30?5rUus7+?6d?)%~Nw1DTl)BUt zm_=xYWMWNw^xk7pD98;FVD2g^e!|V`1|#w^Jb%V2*+A%kV>h~EmBo@haRqf65p4AnLyVKSYsNt{;uG+EG~ z(Yvam8pPDX5j zaMK_XpLp&R4A*!#EE_B;Lb;}ql5GvY@`c|H9~~dVjg{bk(2JV)$5-e7y8AeM;k_@1 zKly_{96rYT$L>kJpbUO;e|UOv$Hsz~egA9_yh(bX`Ko~eir`H-dOOF;&G`ndwFSDd zl4=rSwy5B*r&(^3FRps^jfH!x_JY--+ zFBFPLYLgsn9UN{&cVy5*Wh3GMBG8CETQDR@VyP?fl-%iLG8gXOemRShR)lNgbqgP`{V8idp74EFRGKDKB1x*FUC^sTq6 zRUeGLNAQi8x_WmB48?+m%Dcry$Z~;-9Y&OhRhIY^xGJ@AtL}JK-e&sAMz1Z)lw4GB zvD!8EB4Z2Cr{(H{UI6TMEQhw&BAfvD`$#PW=Ft{>-nFi%L)o(~0*FKODrR>Ncc1Y> zbi*udI0fBB1F2tW1RpR&xy0@~w~9gtQ| zYCHW>smY7OieTd&9B;4*#$z^&hC-w7BG!2A91U~AR^<-mj(=Ey<> z9fZV(o?D<~2(x-!?{fvbZ&sIrBl{;9b6|lR9c*v4k6kzc)q)}nJkYM;_0>sYFR*#u z>OiT|4fcp_c1nX?Jbgsb15ar;{>9X*f2RHjrC;X42jZJjTG+8$vl!s^Qogd%7B``1 zLnUD|Saitx>*t@BEq7l;DK>ZIj7I-#j}+OnVpVOmIgZ+ zAr$h$LC67U6IsOUsy{5Ed;DbhnamYb)LfTO4ytLEX#yCBk-*^QuyAfUzE%KDEz8YT3J$8Gk+*vY432@cBrot zBq3E~lk>NyUYTpL^}o~XT&?NfsmLrSw`&oa?q1{juRktYU$lePSjDi`@ts=lzY+HB z(;soY;hy4AQ;YytK&Zd1QF_F?{5JOUNuk}7E29HF>?iL^&{=?PHV1HmDed)+h#-Sv9Tb5IBv%@ z4tg1Qrqa)x1p_S z@8hwOazN?!exVJI`$MSnMFF7~+Q55kyQ?aE9GIBf&-8`tayuy-d5JIDs52+szmUL8vfuk8Ie0aq za#(^alltX-Rtu=#PQc0YP?Q{uWWt4{;Cg$;!(#gp=8s$=U6Bb;ItOdoO)i4*%vxH* zOVJZ&w}56(##R#+w6G?R^gsDbyQiZ5qpiwRoOaf@h-kre!66TCyIrj~pG>}@=gSlk_n7v4FAdk~K)gKmU#v;NT)UO)V1eRkVMp?6$*Ch`k21SAjC)gnw z1q0fKHw8VI;FwJ^u983#vU3@+r+kh)N@V_9D@kjKNZ7SMJ%nRvHBeKB8~eEjx$Vue z6s5%ICEjb_hXpOzkdDEQ=~ z20y#ODucacPAicUH1rEv>CFJ9w@vFeEqf{*mu=!XfPB_}sFp z!~A5=rBlGd!SmG(whjC6@Z!5e@?Cb&e*I0@6@!e%+NUI3H^;D8Kx1el!IIKxwq%YP z%vgXt)T^>ek*QKgJHVu&%%(TFMB#!l$}$olS@yfqha|EXgE)|T?Vi}dAh=DQ`@s!D zWVh2ZMwtlDAOPY$hHVM#14TzsX~LoQSaqA7STW}s;<+uv{|EO zKY}j`ii?Z=YG30mj;5#f_#}7GhlfSZi?jnme+qj+>Jn80k5FW1+fOJz6b>x{Z1>g& zN;dW+frv@voGdL@&!nVY%_J@YR;SdJYbZ|%mc3q{OTJ9~MpU8+tn@8m!Bp-Z$HuOZ zq_VGDs>hgz{dCk|g5rpBzKRO!i~MJns3`84D92sdwSwD#T~yXeFV7Zchfptr5!ol$ z&!fXPx?L!N{RKhju(J|r48zs6rw3dcWh_2A1gr#A>O!S0ffwcsr90QJ5--{|=zdZ1 zlO61?B%VrXBseZ;fQWBIYw*by*E^|gddqqqB48d}F+kJwg&3RmsMgqmrCHBCP2vV< ziioL$doG&`Y(~onk}n+YLEFK;)6MbYkO~TteaqJlFrf$AXutf8yYSOL@agbaAzx;} zpt_Y+1QbE^3^NNfgFTnrN=dTi#O^_QeIrIevG(delI5Vc2m^~D$E~f5sVW2|LUxQ6 z$W%Ku^_0G22ZaTX_Ay8Y$ezQKmE^3u`tc)Mug6fIS_x338MwsW)_5)r(P{Q2K>u;e zE(wDCJ->kY5K!T5GvtZx8m?NOdQZHH({lQef{)SDK3q8pg9Gf<>)4-gHW#fal-zSm z08l_;PdwE(;jw-h2K!mEKXyX74oXb$MOTolGTGz4IKJgi@#w@1bs@j^DeAIk+bd`EtDvk4)`Bv5l6|+nTz~Jdw%!qho$8$sJ5aXQvt^>Lm?AjDoGC*j_!4-50$*2l_U?94_{pV6WC5A- znVwSDOCUocy$B^tJ{d>71y)Cy&=0D8ijU>31^nHvP)Yvu;#!-kcsyEA%vD0}EV$LO z->?J6HgR@kTmGq&!0Wnn>bu@)f(#|{q)dV5L2#6ZG}K12f~g7vLyI)~mP0sD!ta-- z@DD$@!$}}4SGRU>G;UjL_i%S@LH)`Ov%|X~uXAZS0;EqY+pl+-tTaw-5w40UtWBxI z3!e3!9LBPxlA(vd>v?FSr~_gT>W|v}Bg0N?!;f$7Ln(OAQz*Xr1!Z&d=_G*=)YOk- zq0D|0Vy0jH*xF&{b~)!>B)!IC7b%E|4{zXb3o@j^VG>>*d-m7;ggoN7%Xa>IM=3`D29yD%NC+Ocev3{tL;mYquu5zKJg>44|GUT3`qI0ytc z_QTh9U#YBQD=p2xM)H30zCCm1-o~kSWXDL4a&>6wB>dx|(sPmrbuPTtW^<`t4-04U zKr6wE+=o4>B-Uc%o`DKkVD4EZ3f7wBNtrsANmXWRg4SCzYH7&5$xtZ9cmp&V4E(Hb??cTpG07IYyb z)8biY;{5H@G6MRiG}6(lgyu=6-5zc=o!&+7Zx+?SfTDl2@8`tuoRFxV!^C)vIt+yO&}eq6UWh#s2*{=K)-^~=YHkX|&0 zzNM_L(lWcRoF2k&-<`tues>iO9XN2h$)ZnbBj1;yXjGzdcPS~G-UIa`H)E~V*9Dp+3g?{1Vv2~Kti7IcY2JJiFM(dj!>FH+K{ z2mj)w1!xPJQf#7E>(<4q?SWx`8y=b$;aFX1SVOx?=mn%{Jrtx{Y2w97_OfXBgQ@A%oh z9l&Ix*^)(z+eu>C>;swIp$G*GPaZGn+nrHvG&mnO7wV-=^Qg=*iJslm0qMq;S$&E( zN3bhYLMaE4tqq-Ldfw}La9x-%g`PURPii>U&|U*CG>$h3WNIecLyb1&lwIyl!=sh9Lf zt_h=S?={Ek&s3VZqB#B1Ac5LNpV1s2^tuix5s)Z^G610`UZbra-G}Pq55tPhhLz&@ z;Ix*0wS$$Zb|2fM3g6ir!(H#giv00OK&sX<*4l!`Qy*kYP+AF3Uu#)sP>IxKUKa`s?kv->=1sh>7BOX;=w(a;GQGW?1uOA*UmqaXOF>(xlodp2q6T6<6vCl~Ie z{F5&>6FXC>jI<=V~zD_8p`^>7QzU>}dG!16aV*85r0^PPP@v_7zX zyx)ywXwB+A-`~uhVRPNt!MC$Rp%yLk|6OsOM6By3e6l{PM(E47mc@JpA(iY(ir-6d zk~SrQrr6uFIz9^2kButl$2BHwcHi!I?}YI3rBD&~wn@PTipy+4f)Rv-XHysGL-8B| zOnBgJd62lnb$cfoXko#sMK#Du+jqY2AuR8`r{@e5=)*@J$bh>9RWM9Wei+>rO8<*B z@~My6W9isRgm}p?dCh+3z2)@!U5mf_uv$<|_6IMoHyY0zm6!>dWfq>Q8#^3J3s64o z*Y~kC-N5P!zON9&sOjm!Nx_!(WI>+IqNd$q`;Q>M380?cdg^ zHxQZ$C%U5oWFN&}DeXpCh0Z>0UL1!NVPS;$xtzP9sow~ChiZX!0)$=4v1xjJBZA3>Ll!fs=>>VIPK@6H)8=wS7NiTdGGAY=M&eR~IrmP0wi<6U`?pLrR z5E_UGfe?MS$)0w{`%s=<*mto2fw5JSDpMAa-ZEt-tydk*{W;u^g=Ly|64l5W0`HSO z5BJBO)>Hzj94>5N0>DjnvVb**PhS<`3&&%4-+tA3{<~T#+{ZtDZP#EM^&>XV|A+Ev zlfTQN_jZU3swZ13Sb6;7SKkl+VfZNgv3E}LgBh=}T(NuF-dk2?2asI{6w%5~r^(9D z4|m@ookYREq^jg?4FYAAbV3ENk~GPkT<{cyClCZGek?QMQs(`2Sns}J&pWf{VQcF1 z|3t$&5C?Y;i}0}X>e(cfPZ2e0iEl%65v5blm&B-j&K{FQ9{6)TKS7NPBZcj4jqsRRLShr zVz9}X zBXQ7?RG*xMlaJo(e>Lm(Z+%9|nr|qr$qMa6!x~}PEbSoiNqfOj~9{s;@t7op)XYA^yYH!E8^(4thsttD6WWwwKzb%2;Ntr zbfdJEcB3uQp>+IY1M_8Z>sT#hdSEp3W8jnHpas!-aaIe{^;1-QmKf6LezL%DXoO2i z$o{dl@^5D)aK2&G2$n7O00it**{m4Z<8X#%-1ZNaxpd;e*LDDX*Zq6pVMfFReELB3ks1Gf@GO+|}fH@Ir0EHg!fhFPAHp53> zdkA00yXBjL;77KBe*E^G@SpvOe>ME4zx?yzi+rCDR~a<-cd!y!8yoyC zCe)k&ZUAow9k^4dpeMCGB>2FF&$6?IsVe2!15f(l7sK%NuZQZzZOE=IE4SY#@nAhz zfad&oYMsnLu$-c8a3N_t=fu}Lr@0b%(67)TbDGp!O)bc1ZLm=8J`U?cDp-wV>nxK^ z-~E*EhoT8`06#q`kV%c7LmcFY)WqG3o9xh`ZHugl6==suFy~?gG0L=-NMe{842gRP zsZVe3OYb|kd)v(3R$4_1r6)Q&G6iVeENe`kD**6qS3!@+cI~8xqGqq^@j{UlQj*iY zvEaV~mhZ&Jx6Ks7BLV%JY!2Q|z`1KdazdfL+|F(`#NfjD+5b0t?-^^`dR>Rj)py^g z-u4>bdn^+5B#M%#>Y`Y&6FG`)0Rn^sh=asI^hYt^z(5?>KY~O7Y`_ql0wn(&TTYN4 zHXPUnWIK{o8TCjaDUy%v)%$KgW%t!H#+cu}=TeZU!l#hH)sqhIDZ8w_*0;tt=A2`W z=|IREd(H$3!xauzB0#appAGu7qc_hVW}ORM*@I1xq8uR(Oj2`Rbk1X)cjo)j{cKyc z2Syr8Yau@xD6e}jhS?K|+Pd8GEauQAN@f%?b3j$9@Ra>2B_$j3nygi=>@@QR?2yjZ zbpOGkW{#}M3vCRl=aCt5S7%k8tzcNd1#_J$(D|ey#;vI z@~Z6i?&FB*PDf|98(g=lOKsY&?SSDl;=EISk1yJkZ8a9yl(JwLx=MyNLa0{Pv8v-y zG9?TY3FOFvXc|qDHfXlJOANWuW|5KT1?ANNE&J=2O+6F{Z8Y?1wor2?HY}+cg(` z<&Fq|i<@h7gU{*V4xX92#JJh()le<(WN?o&0-kh(4EwikxInpu`ph}f6*pyt8)nx# zOVM1@q?Cb$9CxDr@kmwqB85>1>f|Xm?hq7Q5eRlXj^S>j+$lRon1Y}gFy}~j(%vN+ z=OAXs4FNZ?hoqgPR@>p!(u@0GzB{l1u+qT<=Q6R=^#gSwv9>iYTG{^};MnffBa643 zms0DTEGq8+;snBFvvoKEts+#Pe2QV52-P6Qhii!&efY!_#}UrQ7Zzvs(ML=B-s{g;y`cV^q6<7AZ#znO@pVnOVV-DU(6rh&LY(qNgdx7ldZPX{5g2%|U@nMnSVdwHDKgyt3m z<4KSK5ztwjVGC_AJ<%13UXtBl)HhqSD>LNsIO7&1u6pq<-?btYQYzZ4L0Fsp1 z)in2|I}n={NEB%Jn;%#_WnvX;d(8#SR?&_7A<&5-XEQq}%qhULzYs9?(c15;lAHWc zCck|(7JFqQe&45Jnsix`baFzgzy6OyZ=Rrvxg8E@;>cDB&|NDz=!3&fn8DVDiQJk$ z(|UE8ITB8+(-1ATi$(5{r?yBIUbqms2qT}8D5Id(zt>zC3B!8r))Kvw6$A;A=h`Bl z_NTwMl9s3?l1@EgRt{H}%r4B0PFZDdT3@h~V0hlpZQLwW;|_M6XEZU70=rb6~i=W5qfNo}Q7jWpz}pCR$@i&e*)hr;UGT7Fex{Ey96e(xPLl+tU_4hU#<9~kZ{w0_tht}thH+}Le&H#F0 zJhC-@+A>5<{%{MOH|-R!{Tp{5+28!G584mB{T}<@UwsYuaRrn!fZkcUwtw^K&)fIy zVli9_mg&|*Sq=+os;VZQTA&`1>xQxx<{*cZv@jxJ_X=5=8V!2ct2x6;^?QBzusKTC z$H$ZHZP)VTj3%uLVKkqRnt`Hrwh$7K+8}RZUXfut8wv<~dfv=KVE}7PM#VF^@lhMm zVC0}Pa*&JcSiPzQ6Pgo8d0=g&J3#f=$a$>M9x%1rln%O&?|R?#$yf!9db|m28K&=_ zubej-XXK8;U029mh()4k&d!>1-#i%TWdLx>i}*tdHax-^A1!e_^scP*o_$qltb?^H zJQnY>>0BUByLsLkF(Ws2`LGRhgWoTtq3X#@bw4IgFHr7pEauo~OuJzoL}1nNRC)J- z`Dlka6fL-ry-O#t2^PUPbF)x_NJjk%AeCTByD}!BS@4;%%Yv+7?^MnU(|R?0KljGX zdOOc6_WSACSHgG!yJmEIyQ1`-br~2yVpHA^G{B|Ii4*cdAGSo@B`fHuw=Z&r4Q<)5 zFj*Yv<)#9V#LY|LE`P2fZ@-l5i(;`(Ccm2Ht-e{)&B)DzpewUf96wE0si`Crn{qx( zwY3W{!Q-^`7EZP^;#s>U@gzNk#c6HBESytr;zMVSgZyeNFv*D;cN$-_(!ya=7>rWw z_D@DeK3_eyZ@hM73;g*E05F^U;TCyDFGOs5zjpr(JHPq;_E*0D&)Yxz?|u}gyzu_# z-t&B?>BMe=Wz|We)JlyIkmqlwxzNGRE;!rJ0f!Y}hTr;ZIG>wnp!XtqQy@XWA(Ld$ zPh&W02MhuuUzpdO>y$u9fC01Yr*n%=0Csbi7jYf;VJ-VOnT%Fq;5RUFAOiNEw>` zE;AK8ce!+JB*8xlc~=57sR?&|jga;GESiGZ6$Csm!(r)p#H|+&d1(8=Qyf=oE!%CV zDjDk!eHFVIG`%L1&Sd~xLj!>8V5kaD≦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 AasU7T literal 0 HcmV?d00001 diff --git a/assets/img/dark-slide-4.png b/assets/img/dark-slide-4.png new file mode 100644 index 0000000000000000000000000000000000000000..81caa7f616da39775b15b565a67734c36ddb8cd4 GIT binary patch literal 142957 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� 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 VMV)3`i|o6%11PNwsE{-Y`VZTz#x(!{ literal 0 HcmV?d00001 diff --git a/assets/img/dark-slide-5.png b/assets/img/dark-slide-5.png new file mode 100644 index 0000000000000000000000000000000000000000..eec002b832d48524ac02bb3dd0d866c69b8d7539 GIT binary patch literal 8163 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

    vxG)6{wPdREmC{wpy$BTT6`%CQ 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 literal 0 HcmV?d00001 diff --git a/assets/img/iphone-mockup-3.png b/assets/img/iphone-mockup-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a3196c33bfe75ab8b024c4662695daa09b04a2e9 GIT binary patch literal 60078 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

  1. 0>Xl>tI)%&ub44bPLWfDdvgAzS6 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 Q8~^|S07*qoM6N<$f`2Gs=Kufz literal 0 HcmV?d00001 diff --git a/assets/img/iphone-mockup-4.png b/assets/img/iphone-mockup-4.png new file mode 100644 index 0000000000000000000000000000000000000000..44084ddb8383194e72c07b8635462b7ee46dfbc8 GIT binary patch literal 59874 zcmaHSRX|+LvhLunA-GI%2<|R{;0__UyNAKu3GVJL!QI{6-Ccsa-}(1B`<(l5_nnv3 ztEa2Fy1IIG*Vk1c3UcBoi1>&A002c&LR1L=fY1Q|AgSSD!8Ko+{58Q3JcsXU4$8JB z4$k`a#sFa>TLWXDq_w`Ov68XAk?XHvV?F=?iqc#~%|T68hR4v>nnC}cHViJ-c3^4% zfKSlHPT$bd*a2u@Y-(=9PkPbXNeVPK;wSydF3TiqCt_@7F5zZxtn4PIV(4aR$ZbR_ zC;;Sh;Q=$SHg?blx>#G;fOuT^N&m%{2VDNAnvoRvuO<$b{G|USl$xvpP{h{W7|71R zPH)J>!VKi(W?*J#=j3Fe1F|qNvoSI;GcvQ%GjsE>vGFi50ss3)3hvF`$b?5pRP4X| z0>AN-nmIVw@h~zvJ3BKtvohG)n=&$Ub8|B?u`sf*(1TmhgIsMK^j+v}KxF^sAZiRU zv^TeNFt@b<{=-qqz%YH-^S2bQk0(*%!R?++=xf`8#@y> zhwyg}Hr8*<%-=b_v2%%Vvx#xAb8v8QbFqs2n^x4;(9zo1#^K+zM*mAI_8)2gF$Zfq zaL=N~_U2B;Mq>81*1&%ao5%b=%Odh0`TaMo(SMdj^gq%vf`wuHXLA3q$^Lg0*n<8k z{*UQ`U;fAVjcvddZx1$Yf85{v0KkEgq^Pip%gWz&q$(?Qb;`%ede+I^4NduM#8MyH zef=wRM0Bg7X_ad=afH~ zc-z=~UU=vXf5mp}i|LE3^zz#O`GS(O>}`ANX#Eq--g+2B;}orj+*PsL!?jqsNh ztVblA@R{G8EaiT+I&vt0=`uD*o*v$jGmBKUIq@R@22XUH9F48k64^MaG0;wv8uew-9o0X*844V z(Q__%fR5XR@E+pEAWg^P5Gm@3>F+Y(6=C^T&|R?FM&%=JJImCrQ#F~;sl=|q0orl+xNW4WVe5>6jR5ZwX#YB50D*O|Vkq$F(_$thxq zLQ%kLo{E@hQb$aS6$-#J*fREo#DN>|NI@Q+=NGDYu4%n;mV}!e2|3dN2uC5ZzTf$D z==KBZMBg|KapkiMnqzH(%uP}=b35e3O79L5K#oNcwWq|qj2n8DWvhb;dCz|E5Rn3T zcq?i7u&FJtF1`*~`t~m_sIxxBa2D3Iw&z8)bwNB~J`v*HHZUL_v8{;9b0M)-T43qd zItqYDxl0N|Xn(0m-5_<1dg}yf!4$Ef1jFCzd#lWJ;E3njyF#6u7q-H}i4+ze5rl>DkD~&+n!-d z?jc%wh>gnDfemuy-l`d+y7qAdcDo0;6m(EBS$a(j5JGYggi2jP=a#(-ikPb6BMp*1 zY`&gAJFhZaK0+wUIza{~SbGx9eO$U|O)ZF!twV;jo4CHQJiG?m?yguUUGCovJG`#^ z87%%52``*Dl*Q|d`LEV2gWG6NT0eM2x>_x!?xd|)9igs+2bj06@G{1I2-N+Op!-4| z*O0oV3rlGlXd21({o&Cu`7$8i?R{c9W6C`7oJ=ug)|nI8ng{K$ScKP%LV(&=HSsE^rq~6w%zS)lhAQ>g>*`Plt2goVXKm{n1HI` zIx|TVDA^~6s?u2-#h#mDIGwbY$8oD za~pQ8RaHVtXYD63@*E}esO0zQx!=L811>*@O_Y_%izJYOs#t06)NM$n#xIs#lQb$Z zX4ir|3uPZ7T%sfNlwS31yZy@pOVsz(%DAG40Rz4Lbzq00z*w+>QBdnc0=q9qYKqa2=(s5LUxe>N0C7quyIWM?79LBCYM z!x&&22~$LfR1#*><-p{ar#91m{<=*R0w*LFLO-?o$RiF}HPw3t*cBeeA(rVxU?L%l z?4<_G!yoXf-fBRWF%z#s4?&4di-cekX_+il-~hhv=O$HT1wILwm;XfvoKY(?o(`)<_;tm=Fvf-;7KhcHkLWBv8W zCdx687s6;dCD-y2v5CH+aAC(q|H$t+kM|vhRJVXOLAAf+42V^`%UXWW+5xrAOdpL6ypF!X|8H9Kk)(`&4H1)A(BV) zV$&HYQ=FcVSm8DFN|C+ja)iRGL)Cv&(#wCs5@!JrOMVgIC6av+#V?`M+=yxCtI-@!_}~Pbfn$1SWQhd_*fOyR~#kpxJJxA z$Yw^Z@q4DfQZl=wP)t-7vbOfwUuTLvRMJFqDZPi!-H3&T2j=4-ozKTaH`aAe{oLYr z4H1U=`O^;M5~$B^fXJEi{m@66Pe?4KW;r0y0<-KV6oSapGlIa4LTpc=lF*#d9^nWw z^vYGy{W|&HrxBkoF`2;ZVbW&n_$rw{V>0%KbV=#EtfRT{C$NNHOSAN`F6H|V@qxnG zb53XKzYLhRr`bfgG^gV-?Ua0-$8UAxQfe;I=_ZXJq4}uWlQv~$UZg`eOflW`M_SX} z(e2B0p|0k}glFYEA(9^h*1jPG9eoO4Ap+DtSGaO5B;bub3&-k3+M8}Y~+&=$eU&tAI&o5~* z+)Vq-5iD85)TnsV+nBZ3Qe&b<`7j7fvue4L$Tg`RTL~}2IH*f2LVrIkMqs`SQNWDT z&}1~T{3d_3)&?9q-Fg)nU!AdWFVzj(G>|e>V$jfRFyo?uF1WamM%?=` zSJe_0)aDrZKbm5%x=;#;EFxH}$*wXckp;+M8KHdG@9YXn|Cj?p5{Juw>Kw+d5H!12 z3|Ae;)-7QPPhq;tz{YDIq*~NOj3R4LOni;g|5K8JL4nIYlZ4>|DgsU$_#wa@I<4bf zs_VCLTQ}6zB)_7_uf`+K8+T!F+bSGj>Dq?Mn$v-|=mtqM=aM04k>g|&1OUpELb<(X zexvrN#WfrCB! zZ;Dcd=}nv-JFk{Xu%UHAUm`4z19-nq)UOqvern0YMrSyszm%yb<ADWduqbD_dFNc{|1wdWo`|>UE=u<5q-u{&OjLT`{JsVPl=2A9rTCp3j+x7ke z$xkvKfPUo0d^GGQF6UF3*KhD6@)prz)4uBubAmBmlBA3^hR`pcwIYA~deN{iw3N&d zbEH^SkdNH(lI?QRzY_3->@`^+NE_3CEP*0JhBZ2iBYk0UDas;!WOBG6*kS)tUr5}> zM=5?+R&Nc6Ok1&)0>pmdrxnX2sT@*U0q*t5M8^9vFHV0W4$kvfbFeYl#R4SaR~WTq znzvrPiPDWixPH`iJ3B}Togx**;R7t`)%eg~P;mF@wo4T;g){(q^xLs+n06VtySdlV zg_pHK*r%5RlLQdO>0dYzFC$sXk`N1%@smj#f=^H_%cF~h@TUj^BX2eOkKSt#xW76_ zO<~%@QTVWM&Nqe%eC^i!^N#IiUghggDW7!_{#+(mGTcQcc7 zwK;4KacK^)4Jk~zX-IT452<36K8PepWo-Ygv6KzhMax4#>k(0>T5hiznnPN&`kVP6 z2)mV6E%gFhfBC`)SA}+Of^wp|z~kys<=R*Eg?;`+V34civUSc&x*_w#@#jo@t%Ke) zpaH_j%ZovDlCiox1*Aa+ z`$jAzA+(sh3Q)`aaZ2PXdp>1OggH&AsGBc=>_fef-xlx`;y3=~13Vq4LH5}4FSNeH zi420y+XBXRM^n?oQp<|wgO(z`eVRpW_p|y%ZO6O$pSIzHX{)QNhvKrcf6vd(97c8a z(=Ej_&fvh6>l-U88>jEqt&@`(g5I)?W;aWQQT&(_+f6U+%mYCey@wUnRB;W~oSd8- z?Npn1j+?=p6`HF?hGZVZ3xXR}3z03~TS;W@TOJDC4+q<=!@&TGbIaQjS|{3J;ftLm zn}ygqv)0Pe(#pA0zvC$1!r24Y-^x?f6>G1&)u_>R=7?6qmgnn<2}AvlmdU~Oi;m^9 z;EM+DidDQ>YtYP_iLIsOsYhc(q2?lInvM5;t0w|4k=NoT*~aR5vQuk2)3{mPbjDnj zxYtspi`A@mD-m8`#zo?3!^4t}^Yuhlr`-=O!S&T)FW%+T`^ARx)eBVKzqYm2%o`^i zXsesm4dyMNy44IM#1}#xeRuu+Bt~5?azfPy^(F@Qv<%12VDfdB5Fp263*}dp5PA^|*d%NMBCd zAi-hKZn;(Cx;@8tUaZ0kzG%rh3wVQHM z!nd-vY3tlFyZ9->=Ap&1##7+6P}6DVjZUlfY#ZMzj~5LMrs{0L^NC>d@j0pUGLX^h zYNtO;xAks8^W!SX>p1D%0*hh7=+WEHn!YJ_ZG&#FV^5Npv^C?s4 za5AgN#``Et_m!0Yc1mQ9$RAPb!ex+mg6=ZW&4+!#5J?T&z#LlwGTu&Nk5=YOImZug zAE1VZ;3*%%*8O$dvC`QodzBgmdGu59z1&_jP~y zv)h9U9k?Q^=LH29CKEX9F40IIs4WMy30beuGB^O6ham3}alBbe#$_|g=q-R9>Z>6t zLkeDlAe_lx-44Rl9GiC8hp4odwd%Lz*6JP>ecp8uli-J1!{0c|$$^HbdbpD)o0X3n zXfHjJM7qx2m_eI;j@Ka5rRIniy}mnOl`T>(lcs4Efot8IVCYhc1`;)RTJ@5;7`Gb=hrE!@|(9(PoxU+SoQVLnX!KVF47;jn() zSJ_Q%qs1Efg!`yN_P?r_KTi$Z1@A-phYa?^p>*)0W)dpyG;eL8KWKV!7$QIkz3B6+ zLdbQHTxktDa_Z{_#~pm`+JC`-lfmB@1Pwh1>Ogs+?y|sT1^!s-hkzh#Y!lqEd|vJ* zV8y89vG=TH>4h}C*YjwIlAzu3gr?*kPwOq69IT&7IIDZ>q>*3D>>-7Z6dRcoB zyh)k#s59*894`oU?tEE4=fb@p zg1g;Uus&5DwiNEh*#yEIudVEKi{n<}nw8#fr{0&X9jC4D%dDC2;Z#<(wvJ<_(X?c% zY;U*qoy}0dC(uCo>;q_7%^APy$i(^k)7@m~nqk{8KN-3wxwB$zbJ4Js-6(U@COQ`hN7j(F{^}aXtzW<2)+X%IJ&*ke} zH=rkt$0X9dR2&$p3Q~a`utZ)~;z2@m9cw2Q%x37~fEZE**pLyL8FpLsT7m%Umrn=l z&YO2N7cU*W@3p4=ypM%cLPkgUf7NUIwg8|T8#Geo1e zO~tG4a(Z$|ogrwBYBp0WFOxmZ$fLnGBo8!%mV6s}+pSf|rZ@V_U2{D=rmM(@l_Z=f zMjP9c$AHfh5BcDoC!#9Tj&J+o(st?o{9Hi0!^6BGvx;yti^~Oh#lF+a73Iqx!@)(i zS@$nml}zXZmi=&~3{-uNgLtaY8}QkLf1myaqnUVQqb&l}9yu#G2{o4*HErAPT-Q&% zy$@KkTt7%Yu1G%QJ6}gTUt=2E_URAGZ9Px-G>4lD15OWoC2}RQ}b{uA7Vx!0?W%@t)4o^t( z!>y*HIw{Eu;Cj5K2LKm))olTy0<~LKv7?`U1z|LP&G@arYWg>xgyi_$mzyc_GlyX)wc63Ytw1f`lF4Ert_Z4`s_}BELOcx921w^Im>Ep?04F*%8yD*} z&qZzLwU?E}j)MUL+cjjl+^(6P6|09SD<>a(n-f6IqK><@U_#6D$shM@6usta0xO3) zO*-}hFb+Le(Q;C{Y(+MK-_r@<(QCS$0>4FgzIgHRe(^Dl)A`u%?6kN4p7lDM_4;t( zzWJhx+L1>F*fy`xJ>$i*mGpUY+gkf}DmSlEA2=aZ$)x$DW7rWf<+y7(=EM2gy52qk zv*mgBNB6CibJP0+Exg6tC^_`uZ$r{2F@8-1@WM1|*$yHoZmpi75QZAey(dbs!B3vk`?eFoYi816#-)JCQusX|*JDWj_N!ljaWAr$6 z=a-0+BQ|h#txy2L=cBwg)9rcRiv!Px^@j_d-0J|&&ZqGYvhl$W;^Dve(#QpW3Fi6i z5X3VKm7r)-eU&Kr^@cRyQ&jWC3XyKuHiB;ZLd3YHNM}*#9!h7XLc*i|G-m|x=2|o`eEy4Az#IwMxDmFl|y5ds9ORD>UF)&>vu);O0<=&tA-)I zcFL`F2UegN+}W>Rr(ao;!ui1vapfH{xUVT8@@_J3F}<{&ubdwJigG8+xX6sTd})6x zxjCEQz3@1+eOs_?f4c*3RYy{=8!Ej$SU_HYK~VK~I3KixC$cL3KUG?FRnFcbpE5Y2EtRq&S)Pbw$(Q%DwlTuiep{RdJENZpKv=-OZs`mI=`|+>=bJ#Lh}f~dhv0ldoRI;-Qq*%b;9JvMWK|*&@(=} z;mX=l{vqGt^7<(^XscWOvxi#nx|q7*?=y+0c8GD$%*h4Jr9L#MfC z(&tTisBP=a8$v36H{4Mku4fNk-mCt~_S3$T7AM$&xQgVP>u(|)&l&=mm1 zV44UjGkz3wC9`Dg1LIJc2ZHjltrVB}Jri6K*9z>Y`M>Wh{6hx*?!EUMGeLc4b4)Db zVb30#+@}-DL_)Ee^2#-2z%ydI&u9ta!xPQy#p05p)IG71U00U&HE28o3PV4A5q-Vw zV(I&MKZ<%ka&LWLY>)MAtP`XC(3({Y!ETip8e^sxkvm7T;4Furjg=<Mdt4B>#pE&_rZXqb5I`U(mykaTWgb^u2(Ulr%IUS( zigimyuN7t-_L{EyDUBy5E3ORi>%xKAo0KHCdQLY4aT95@Qo#&&4@s6Zs8z|1`Y*ZxmfXDzIDQqIu!ag=J#oxa2EHa z8x_xlEW~cS^Zc+u|IEWUUlNf^06J@gsOkMZj7;D^R`tgC-XGO|A0qFuk$j^wC9`i(LT&CwaFH)tWIHVXsy*<`d?JF*}={0~-58JrfW z1F{|S4-#9!s@v??CAwf@-u~S=fq0o%moJ7&SJ~DmiW;Mb=I^p{3oDc_7+kid z){c;2F~)1y&}SMg znl>M<+6+MjJ~>IBdu7gBT`zhD4sr|YW}cKLKLD8F=Ar%S77)zMLMs3)RJ&x!4q&r8 zOFy{X#uS>pbtg}X_iN?I&hs1{rlGzz!3*0Wm@N>w?ze7Szt`+lfW;;_}0+}W#Ou({hlWbchtjoQk6@lS($orkF624!~WdBp^ zhfUiy!flzUU~4kFh3^|pP;NZ@m;fEVw9GJC$=hrfOaGX%Tn<+6oP!+q5YRLgdfR+F zgof<-d9icjgW&yObcB?rxtj{cg#{Y9`uka?#IOj3@&{p>%sN$bU-X<_p0+cVZ{B+F zP>*8^SkVU+lSJS{)J;YTVC1#_yeka}P4m8yIn)=2MZ8=gUlfRRkWZUsK8#n8%4A=R zL2ptroZ3Q-;uwBLjzD(^PJYyHXT!t6 zpLC#%U$m`4q~sHfZ*e+m(hzVI(1~qNxfo#~olg$v&_QU~ZoRzpItOLtEw-OK-d-nl zrf*y)Hr^&w7--b<*+8FPx0oq~V5d}tW0#HVNbS?)7bJ@2m@Uc^Hx6t`n|?n^&p*$& zOb?uUuJVvz?0CChy?CD2eVcDZgVHNf|08@l96uw)UXCOCKmeq;OcY2Jv%)-W3^hbS zfz^RfgI*Nl{%SxQpii#(T#3D(x+(3>l`en#t)^ zH_f0Q>^WI@zE3Ja1)$K8 zv!1cm9cE>3kvcDtkc29^7qJn`s95^h?vo7aMn~{8oKlgqL>|;f#G~W9?FUPY=jl(^ z;;_@L^{bGfsRA-RCm%c}wfwQ>=^S{OK5n)tPKNcYTev z%&RvlwWuJ5AwJKV2Pj(?UUY21FuH8Wa`GRaEYxGATO3Yi6j2F24d2!k31(DlYfxte z6R)ie>Fx+gA6qvE>q5FqtyXb7|Ff zxn+TO+4W`5S0Ymk7v*vIn1RqeSUA8uft{Ns&)5^_S$bJ&7e?RW_!qy z;)M8G78ubLES)$)`w33^3Rk={PO9p7LQ}bcA@w1Pu!ryP?C#5>I`_IT$J8AQk`@x| zrJ{26YxV*;)z@w<#78Y{bVhLy9wK4dYTDm2qhAaXghj>F%&gZH&EFRYD%62|U|?ld_hwk$>$+1%JYtdL>P6+{ zLggEb?J7g>C?%V23f;VH4>>G6(yg9suvmDKG;%uLnQj;{46xrL`Wp>TQb!Fezu8PejuN4MO?4v zCgnEN|8z~6NIzZ#JE%GldBBSd(wplUv7Zo(i&l+>)|ZSTI`}cq(TddO3iehu2@6Y; z7|-r>gQgPIewF1nm`}8(rKu(XN>pclEdxEVW)j^Mlw=6!7ZcXqmA^R9cxrkLY7$90 z(ebiNWB(bat|Lc^u+HV+rC9bGb$OE}ENJd#Nf^pS!KZ-gRCO^+2wWQ!k?*l<7vWfS z_84?-+r#m`!jWHZK8Si;#XN?fXC%Xad`ZMs4pg3C%U>_7J5dP;yvHl;91YvORqBo4 z+_-G|Q_)f-Tpg@xM!Bqgi@wrRJEnjM*`h988o6ILXKb@EcTH`>dFUeTx}^vyEVWAS z>Z3f2`AdCcO!+<1pLxd0m|o|dTdGWgdyDNrJGc2DS6iV;Yht+}d_k8MCtd=pIsPd2 z#7cdEhs_IRRM&akvHQ<`z%1;>ZX%I~!E;t>Pu_?D%2aer?HI;+w+ZG17h^-t502dz z^T3T&@VR%g*%f4I$%bd(Ots$Mad7hIux(o@iEjA2_^<3@7sm-aKiuyOGU9HH?6C1X zi7HBPBW%28sY|6iW|9tK(0yvo!hU)2EabSO7wFj|J7-s{%@-6aZ#CN>3QXlv2AknA zGB}?C3c92#v^}+}8o7q0D;}-5^S67j?-Y9~((CJJUqO_l<%_S6nLHqGR{cFnvT8p) zPli%C+wUOAZl6^?tbc{O>jt^uU3Ybf3OYMOz(M%%&cSieiG6BDiZxN?Vg`4TW%kEj zos=XIOVAH@1*voqjUgo$lGc&y?ob>$#;cASydbMxvZyd;!$|L&iC!(9-=hO>qH=N_ zbd#8(%ypxHpCvctM%X`k$U(~nqpAd>%+~R@abeNa)#%IU2Cl)T;{yBO53G{2wg70s zcM*qc`O%b*v^%7eLfNS0ADqrKztH33Fy*3Yf*zp1&jsZ zWa<|27<<+B3JLab@G(Ih;}x(>zZSM||47 z*Ygt+QQ+Ob5OE5e8fR>uBo-DZNJFwn>u+J-Ctc}-RWKaT)T&@s>q6&zz|T{$*kM8t z7!~r1z(66|rr>R;Yp;h{E(t%Q^MscQn>0hKhAnI^Bcr!zH2T1R63MZ}aPWV4%6dP} zI{F9J|9AqQlBR=q1H)^Mn1lxdEcS!E4HKAYhA**sFpZQ4i?~~NT6!ALZzg2#Kv1RF zzx-IX6PuIjmi-e^wPIT`?N1V&GSz;d7`UPdykA9m56psH&fG4)IGJpU z0MI_&6}IMze^T%3uW*d$FKs*2vutKq7D0QFL6R8lb5qrI5dyzR%{+*%Z5+_Hf{I^K zT7=mTMM~mmic)gQs$$(bn}dM~+0llxd?P@BEnvO#{j{?%>*L8=*8AO*7h`iy(A*!+wiwe^-U@^@QEHTPGM zvjXox_k^$!3h5L~x0i3=v+lxR3Hr(WlClN^+Y^ETv}WFlqKU@)ujlEhBk{>Z(fT zyhuHhf^EJ}xj$|PAA3J#c_+MI$9?#UEow=d%*@!nAK2cFzOPiiX`op_Y#Buu2o#G> zA!k2>G4mi|kIU{%;lX2*H5(UrC}8lufsVHeOx54kMJE7$VnhbY;}iU5zgYsHtNPI? zTEdSGbK#Q(!^fQbo61L}6aPH+MIbW6&n5wwM6%;&O;?Grv-#e&z z1Ki7&n4JgqVDh-;$ldD!edRkxvB(R4XBN!unRXh?G&2D(W$U!~EQ?-6K2x6a0R-~H zWm2-N^}stNZ5-~Ex)UuL;1K^BMH$@>5-u+WLkGc^<;j0`lS8vpaA<)y+j-u%9=e^) zk8P6a&DZhGDI}fC9`&W4gwP6yTkyHU6_2xmZ?ih3@Yq6ZJQqDsxXM0IW@05|bOi4a zs2!KC(cA_+zZ|LpFFLLwY;Vy(fX$(FDC%H`-OZ1;&7woWk0(!cN$X2>%2sslLM6{D z`)pOrKm{eY8gdFgoU58L5$3_a`xm{AVOd#%-W#7!do2;`hI|t((im#Txo~d+VCZwY z$qB6s{QY43p=NCO^}5Z{SW9vot!rCbMZot>ZJW&XH#il?npHOhLWQvhg`T5aU(sJi zx!LWXwHdgx>rkOmPjY{Uba6ld1r{K*LFeD7N#=ajoi}*Iz#D6Z!`#&c8FW6&z6z=2eChuvJ(gZO03!On>lk=4Q1YBcPR~-3R41Fg9-<=1axN! zT`nLxWho@F=^$<(FGLspRFE>hO~pR%$;SeFD>La<)1i&XnfcZH4`x4MBN_r zXcY4aEmO~}Fb98+XykfwcC_}yOh=|Feh9UQa;TIRp4BL`k~3x#n;dnE!I&wbxucT1 zjL`{VrwIA(IQMeDT)fYBp0K{Z@9Zicu1I%2xE~jN?02S9P+ppo@yH2C1h}<;F@Az1 z`@TKm5kMP6d|sl~3Rg9`EMW#oxq&)uybNk?F{UP>$G#`2;e2sxidU?KqK294zJBM}tfaUIi)`wRDMj5;ZtWr-4N3+(NTHSiWwAuZbZ+ zlHXg+h8YX!+Q<`|^1EjB;YM*|SVSA_22LxX4^v@lYF7QBbvb<)>@9K>B}Xaaa;&h2 zaPpZ<%Yz9Z1_?sNQJLEWyzo=C258KNWh)$AB#wV^i;a*7SX&eycNNb^8R1f-SpHrf zalD}p;i^Z&CNh8s&lBe<`aW`l(>s?>CIu48eG|Jwb%7vpAeyc&K#T!L6&z^{iDE-< zQLnd&_VR~!Xv_?hFS45m8Fxo&aYhJq$E4P{AQxINH8ebXp$UkQ?1T$RwMQYXlOq9Mo>#K)MjDDwsL z`B6>b&^z#{G5XhM*Za!duM}q?d#>MR&7n(Kc%Z8<=k&(UUsC*?QsCgJ1L;GziaPAFb=(Po-s4aR7xpWwJ1C7w?q{vc?Kg`RJX?b&fTT|X znw2>=KJ93-eeC{9`;DjA>At>x0lT&$1d$F%*wCw4z%cc`yc|jrK!dF@LP?=_a4QR) z%V)#GZb%!^IWEaTQ6MJG`_=M20J8_vRB2lM1dXGPBgJx*Yl&}P6GpM8dB5vHv6kH@ zB^Nf4SOPC|=2t7V!fWP2Wl2X&sEJ=xiU+41;Q z9C~K6PHa#!GyUw##&}N1B$mfHH`jt=16P*7fZwNM6k8V&#l&+S zj#jony{~u$c~3JD9(a9}hB*%8c)%)f)PZscT0!JDG%sG=l^OiaD8dLL;)AEspEtZD zwuDkVJyR$_OF3m%V8GgJJ@uU0aYBpi`YPo>5)PZYvwm7|J0ed7Q;e>3K0 z$ZE^HA+&eB){Q2w&{Mamc8B9@VQU{3)|BJPzkexZHp`A6#JebyWFfwf#6$o=KS zSb<`xryD?$zgULzh4oraA=S+*@wzAVD_z*$BxJZsXWJCT5*%44?`<-35Q5?>f8m&= z%bjW|+w*w@iXuhgqV1u~rIe&3akz)6U*!_7=z!5hkZnQN^o|PTzLetG#){p)5WGqZ zPPn-te8>oe*xFOO4lP*6vWf1{ic_30GOc3=)= z2!{yS!On+3a^X6)e7<_wV{}md;HFzo0SSLJRb9h(&=yIB?WSiBuZ!V?>tWvK<^W{gu26cTnKStQRH*a#JwDj9RJ?H?s~r0QaRK@KiCP8X@p#DOz8M;ObN z^z7MEraGmcs$`mk3Ye5vcuOgh>}7J`k!gOI$#tv5%FrT`{`eNlYo;8SpE&#*9R79l zQ^S$PdZn@emA9MW>4kaLjQ~(pcxM-IUo(quy z_KHWA6KKb&YX8{h2+$mYy-HD3^yxXm;}-6zxbLIJON6Daz79svK5gUjv|^tfOC`*c zi`fba=dW*y3+^qfu$UEPc_TdsNP*Womq%X0`oBwjrC!2q!%Qi!t@Ac57c~j`jM?N) zI(7!LF~S@{74&gh8F7%0&l(!YFk$?Q_&w}S1syAt4Fw4xhftfZ6i9#mw*GL?n>DS# z!T`q|>)yIe(d zgsAca#~$5*_vj01#%TJjFDzp{Q?eZ$ zNby_vlo~5pD8&qTup`J=Vrldk`7<6!{h80c`$mS2p!XRr6Yei&0pzMEG^|D9F;+A~ zIfOpu-wnCS=HtA+!W2u{4_osy$TMG2eIbo!TDK)7eO?XAY?UL82@oU6nu=Y=S|t~I zqD&;O7TcNXLP2y3FbQwxU9{30+9ID-x=IYs+ujx7y;<$&aMKgOZ^_YOzz0)lir;r9 z8AENvvgocjZZMJ@emtssRq(2tNr%kg{IOYbJx@X>PP<@|<&qRGRpx;m@LD&)KQO9WP^q$Yxz>F7IJd8 z%?C#DgJgI-kmP61_lKOK;8{|~3e{*RvFU^JWiSI5RCNffP+jJzkprX4olRpJI#-vLxIPh4 zOYx$S4R=8?QEH6I#ML`D6Hfb?LCxjh`j%7iD@X8dC~4D?FKIH_-JZg)C@MHZEy-Cj z)6rtt?=2XpD1&2?+7}AFG|K2_mp&-&Qf; zZAVBy1!bzU&#HMaY>CK#A6e(F#KqdOi%W1?+i1$4ze~CEim?lS% zUHG;rQM0f%CL#8`_Y5gD^9eDBD*bH`we3B*OY5agUug6bnSvV=LOU0`f=hNM{`cph zHBu>KrK>9|7T`Osiro0^+AS^V`Fd+u%CD{PWC*@y)!7lsgrMR`f7PE5 zjsr}1fC&WQE0=FIgJN*ytS$H_*Fk>VIw^>Q1Qb5!Uv;0Plu7a|<`WyEykB?U!67wT zze{7(bNDRC=l1E1+Xgd)^iiL*rBsE!Xi8{o(W$ADfbyMNnE*}3<`P&b(I?G8Y!;9_ z)%r4x-kaL5rb9pBW8ok$oQ3fHBotlQV9_LeYj`~Wm6cKry$wL@-ddYyuA7}Zsc;Yh!3 zUZ{s;)Ds>*ERDwB%`cNrq=}3E{&JP=W zT1hARsUi|N&CnZPZ_^n&&jT>4?r;6H6^4m#gb8z@p^xP%%5$sm#j#R?Of`n-Kxdu$ zB-Lakp80h#s^=hEO|ElBpd^=N(_&r~(I^|Y^EK1ELFQoP7t_X!TWheosl|E?dsJAN zq6AD$E^aKd5rH$QHXWy)U|kh_S253k{<|5dKr(qXBVM(g6b%hRnTd?T=q2=ju^&AR;v>2IKa-DlYPL7zE(A z5aaNvAXs^;^OUb|K%-C77FE0~0A~;XNx(N6tAIY#Yi(_P2S-eBz_4B?KwPkZR<*1c z5mCrA%5W(OWJj!6`XrRAn^}~;eO*qTO^rD?{T%cMh3`O*a#sW{bbB!K+fDtnnTK7s zIt)FOTMjrO`OM57$~&u6b8My6l%&fsEiaMhK%vGzr(XgZ={=Ed4#!4!RObev@XuQq zCi7G_b9hZh5`Lj_nn}x5vhZ$^k_gGA_OeaA#n)OO{g8z@yo>A8%naV4xg#C}#KMfZ z$6sJLzEUi}MEt4YTxS_}#uSuVZnTeGo1coFotVkR zrl-InXB_jj2dtpi5{!Inu$kdqggnituWtw=Qv3tXlv%Mb3c_We40|Ul(Z|yicjiiM zX&syED0qTANO!#sXCD?bR>L_lkU>lnlfes&i-8=0ZaD69()R8)H+%VnNh2ZWD4J$h ziVx1;{sYi1-y|~a;495B$B+91+a$H6%>nyB?L*f)f}gr*@A`jOx(c?qnr69+ySuvu zcMtCF9^4kU;6Z`}3-0dji#x#~xO)ihK?4Eq@_zRZ%yZ_YBd@!O zT52X9Rrne-CEoY7cIufNR5B+9M1jsLlO+w@;H~RHh!&ibY(ebMMvEaL)D^Iq1hb`W zQ%ML*pzcZtFV>D}%3BaRmmn2=JScS>p5#wRs4tGRCw(}AjFA>Y8r%+&p|)2-q0cIX zn`q%F|N99NVB&_o-CwSX&oENS2gY$qh6eyXoFWQ9|0x+6F3N$Z5v?xET1jBCQ@)EXB)Ga^br6=P%dNs;hDiS>~F z>>@oL!!93+mzTpga3vFHYwrEK-g`3}jZYqE$@`=tz0tmg(gmMIQt`fL5W>@E-1ZNd zD@Rc-r;VV(HjWd~x-~L)&Ke7b!jn+r2~Yri3qhuc%V)|B=CAEaPdm_33nhNCyYKwx zm*Zd5+y6Q!SN+`@Ho;5!V92~9EIJ#-OJOWuyK+3V1{+WXqhNv(an!IvVfOSogFjO) zX~cc2AC6IwA)4c{EgMB=*=0ceS-QS@-$m}jHSLw=7;OUieftD#QI>K7O)m>kOTD#= zV;W#*t0O$b7KVNdPh8%wno;1wBTOlXnmzL(ot(TVy&iol|v*6N3#bTEvpmblXT z16CRFcAQdi`l=aug3J{4dw8GShvRNaz6@Qs>R9fsEr*`g$AamG z(kTwglxMaG#wh@Hs|S%Sg5+>b9=>8T$9tWv^!$zI+`#WM%b{;`uVE{+uod@xcPiK| zfg|hqW}PxyhxKOtbkQKNymWlb3z#gvap3k}YQ(lkVf<3r)PSemzm90PqYV283g*wO zx8)OR+wtuPFMN-PP}O1|PsP)YR+X0)BujAw>NalAxKb&g7tHRRh`oYP$3mYzn`(ai+}6bf>-qUP>4!aI@YkI*fCphW1tH`fZJJ{D#j=+r9?CL2 zWAdwev!1QUg=Q5=mb%#5x6`0>*XhV-7tT!1t(qF;rHjLSA!*CLQyxl4sCQ6Ai-e^P z5(VvATFWy+E02)wdR-E6Nt+p!GsNLl${^<7ns#a=wIp8*@$zA$2bG4Vu6sCqc6WC# zr5}?ZOF7f2YB3ll?#C0T|GQmqXz;*f@F4g#=`U?@j21-xjs-*)a{np>OO4T5Y?D9c z!b#{94u@9bV@*P42t%*CS*^4KA>Cx&Z~W2l1a22WADGR71w_xj+nF0 zlprc=)UwK;F+HOnWYqOMVVZt<1Sre^J=Gi7W$-kN#c(FsNF`V!(-PC*xx>rmVmQsK?vfz}fU-vXByKQYU3!JV8Wo*M1dIIv#)@Jv=e6U-UDfC~YI8z=k-plW#%CK`3$Tfp z1Y@Jq8}g=(v9*gP$3>j{DrCjpXr|&x^lT{xjTroZO2mkPI-C1u6YOuceotY=Z*k(tYGxjNS4uEmstiFO)+uKBT+e z0mIMF&yLkTmf;DysX^7ExsMDIN5lCK<*YDeI6d?d)|An)v>Hq+Cp9j zAN*>se|)>@vFP-;nd1ADm+^NRc-bLb!C*iEJ4xj3k^GZ8>9|MAHXT!fps%4)WLQ z-csqe{Wl@S-nQKVP4u<^Jw*qnu}V65<;r)IWz+NT6UREqyV9ns0AX@D=3FDBvPjgL zQI_m`j`X>&0{6ZaIZuW_1mucUj9gc5bo_Yp>2+M!OR{urcvz-aY<}{4N+5yHhxHl= z5M0SGmmB{0-NF0Gi1!v!nF?PnYA#(IYd#7~ERWboHh~^y_!t8iOj$L@Ljf2(f40+b zP8~T-Wv_|Fohvj*ra*rGPcr@umNd%@sEHuL9S@lZw(rAvE(0eBB+ z_Il={&PIzPeQ5&9;dJ24&sI2H{N=Defh3k3L@2(5C=ca`Uc=`}!az&FVTKMD+OE{8 zKL2QUcHz=5A|CrqSGBSag2U~ZIadhizbDc^9zymOXu_Lu&_EgP2MWLzJ~c(!p=~~v z{G(faL4Y(V+hZU%BHqup7QpSITbi!1Xa856UAsRphI)j-X=Aw%AZ`#sik31~yilL6 z#qr`4dC4NN<>{xOIpiW|)**)$&k|rMAeU?w60{27Wd`DCYe?pVDqD-h1s!Y*Utn2R zGTlxt5fOYEy%~c5f)+u*!DQ+*FZ4=O`W85WXc8$ff{Fy<mOo^z|u7Y{ekFh?qZ>-c(`bd$ON3iG3rEtY1C>)0gDagPjoC* zQ!^_CNiJOiax9v0J1$0aoprK(jUH;Y3O}Nk(R*}EP670 zQfk(mpA2D6Y`*=SH;-XUgnxWq2@Xlqza{iyA@vcZtD1sWr`%hOw8(D1T3kqH6kws{pC z_vZGc-;krOw;!%$gTHGDT9USBR}9o$ql-+Bp%AYEqG%6K75buL9q|k+AZ9?3MlYmc zO7fcLO;ON11{UWOp4`IOo~e~MnE1JYHQpB!);O8FU!UzeD-thJEHA^kWgcs*gsF&9 z>&`+lnewJpgPW+QY}lj~0zQ<`F+$SN*ldS#2%;ubH5f{m&Xu{;+2OdfW^)jg{Q?^7 z=mz<=_lpnQSRhY4S#Iwp);}SnJ>?W@qms#>zBGVPG7m0O7Bobl%^ys{Y;69#h{rU#X!Bz?Zm$CZYpdC3udN+NC8c)oBn?3&b@$@; zGdJ<%3*<7MRw*9RCxZcE;wre}LxUCWgi#4NvVoNGj)v!Ixs`8xN{h7so8E z1!;vA_=nxy>AXTyO7^B+km}&T<@gGA3W# zvGMf52e$o}#9?<38Z*ghIk!vgWITp{d1FE=@$@Qj*qUr5OrSL8$4vujg=OPzA3v%3 z>MPcC(QHS+$y09o->PE^s@)1|REJ&&w5jZU-m40Ezb8Y{;1N$JrD1%CTO3jrj&b|I*IK!RKHBFz1_k)9?BlAJ(WR_nn9$F z*e3me&92aFLgCS_A?}qu3i}-)ZV(rgF`5Y{HcQCwuLqi8A}n;qqcZ93-oJ4)53wS6 zuk>74EsG|@pu{LW3)3**e2KYDbXuL^2<`V0jf9NvPWFIc_ME&(=V7C6FKGoPyCdOGH*y;89M9G@Iz!-PoErH43O;vXP2L z<u=1GBulr6uvUgLQWJA#yY?+aJC959ha~JKgsqzJ5;#rKfNp*7 z^LFYyZ(%298CdYlOFQtzw_};3UEx)76JzYpWEO)(Sz?%6R_{QQg1K!&&rXnCEf#4N zxqrJ=MZcpyks0wAq)PJQM5f;>x^CXHQ!X#paa=4-G2E~D(sK{4n;k^|*rn==7z~Cs zDQ=*0p&l?Ow=BdOZPrLaQ@TlzDdJg|@~vY5*wLg>j1>jUVLNa69~DHDhD~>>4)*ql zMB2-F62HUYS(RsSBM7FHH*{n%MvW4rk~^)G={~3*X;`UCv2LJ z+&#r$Jf46fMh6&012EV>#QjdzsV;i~KlD7PzMj;*ZogT^qPF(on2wRh@JjxxrF(sc zU{`$;gQHY{8>r)iBL^p^Ify3pi~mkA{FW^2KE@KzTfIr1Fffd>M~%;vOk;R^f(EWI zl)zM@7%KLg{j)hPFG!9pPGy`!HmCLF?90D1o3|bG*PUqymAz(nG>)SuE1?tbCShj8e2gyqg4Tr!q0^`ZeU{igQ)4 zyKiI+m)R0@`B8h0=pAcxjZqzzGYG<)LQUB(!+K9qezB0RbKmLn*hKOI*)=E&Vb-#y zCL+@?2uU-sBbH{_)2m7(B1|}a1(9OWhgS)MlsOFhF(ywdharfnq2AbpCgS6#*%7Ss zV2BT#;F1coH#!$QFMt4SfD-4T0rR=Mqz^Z^fVTUd^%K0!x?@NV2otZoN?Pxb;rEvZ zs#gk*Td3a8s}*Vx(5Ul)ZIlLy^8D|djdOG92s4O)Lg!o1#+*4R99mnfX%b$&)_DNa zkC+Fo8}7@tn_qg~KOjo=X2M$KIh8NX}1O9w-kQ-rx84?Z*Nl#N!AjH$&^~#3(v`8uv_tv~+S4BK>^Ik=5k4{j1 z(U2NN4j%$uTCXErv@oLEgsYA^OV=<7FDc>8-%dk2Fe#;^RBg9ks&(TM?#>-Kfep5B*5xi;gUTrqPWGZ zC`WvLvN+C9Ys4~=Y4b$qK*(u({CWBBr)yrjOtfpqykFnsw}1c3F`S_eOwodB^-C8A zgXFJQ4SbzO;Oh9IL%5(chqOW9>};Wh)9L^(16~?~v7(-0rOVgodkRFVan$?Eo~H+) zw9j6)T^zXzC`%+#oG6{#H3@-`fc6fmPx|;yx)>_Wj+lilMq()G6(wsYvKR2>&`8t_ z`?w7a7G%#U%D54EKP+D&@)gn4XBX_RV^d;0AaS+e*LKYCbvBn$9~h%rfH^mEb%bEY^eK%)pOvAVoc{;BhtBTdgS_V5}ckrHf#E z)AHYJW741!ETU@gm-MsCd6tSao#`vY&8IT6M?9qWV2-e#YmS zG9K~miUfi%;f*@?8#)ne=>evU)O_(!sfiimzXTX{Kv+8)quXDhCeAH;olmzW5Qcy5 zN0)KhLBge%$FSj=DMiq&tmvNvD!gW<;Vk6@!vYjDh^3Hg6Gzq*;G1}~!zk%@*nDDY zY=2<-NN|Bw^-|+@63p8S%bF6jr{4_fkZZ`#31>J~o`v|v_w47}o}|oak~;&@u+!=) z`0BuRja(NirXJyjALFpgJk>MDu&x6!9}O?QQ+Kzat%;i7VO?2a-s=AvhTs$&Z%I65 z_>PtacSLNUEj4tl^bCZ?6xo{sx;Hy{5f#H}1$wbSsH8`I*53*$dzz;_Nc`(Rb`tEL zFA(Vs;`MR?2se>%jv`G2J9aWxI9kwqs3nvlEG=$_Q*2cbN7c1imV4c#faT`o-2ysG zy0zEapk?v|4nu?L1jP^z!Av$`YEtJ4szci9G+Pc&!eB3Xr95oY$<|q;fODSa&L+MT zd|RUGb7{uW(D6qet2P6$Hjy(8@fa%l^6&hvrY21iu`g>sdE6tdz^~RYG~oyx;+mWE z-Iqk>OLA}fm<>6zNy_bKn{c2-JsO`^!$(=+ON<<;CtwzIs zhvkb#)0q3=PaeqxlGwHy)T_eDdXmRfEtI6=!LCc9gxsF0oO&(eh=oAV^AXJaT}aKe zMz&WHHZROHB9 zGc9V8I)Zo2-Q)@GX6 zKzR?qP#)@aJT+5za``iyn$bZI%`lSG0JVvyM3h7}HY@nTzrT3GZ;ud@DJYRoMp<#o zdE#~4S7?IX0NI_$ovpnem2t^Rg$xbXC3mwC8sP=@a6KT4O-T(y%Fvt(B2{~y6J#v% z{OAO0i^x7<`V8e@IIwDkx~tOf_Vt%iYk^xVeprGX#F^&j^0ecK%KE?b0^Y%5PmjNI zB~BiWs~$E;ZD!5?oBgnw-)9&Ib68Wu;+N`ITf#ZeOareNJ%%m(^Rq-Wth=Q_18p}Q zdm76xKPqEnuj1C1-7%7ii=h|iH8iEHcq$T$(JtgI%_vPGAI*ixaL6_v@$zxQViFr7 zgrvJ#@{?<8?C~W`Z}1FrmTB^zOT;8H1HeL}ogl>M6+>|~33*3JxN53wajAs2@USl0EE!_CwDcB%X@ptvFpB3T3 zcGP+tQBv_|T)NUI(z+BP%k*0l)@g2?-9H*Q$k1m|Hs5?@4Y@oBa_eR(oI~DAM4N@7 zsKIp}9gfb<>)X%W+c$(%tLuWGu5#QC7`~sj^8RrrdmUe^`@bA&(#Ot`e%}xLo!+5) zU-WiyQdL(9!LJU!u9Bp1T(S0%0lAN(%vm?@r9T7!jc-*!E{G%&;yV=$GOPQrCq3^3 z^ED2SYrb${$BsipH|s(O)<_-RR2gn|rD;PI=1SutUD`@2=)8z1WO!jkG&lrbRMuDX z9T;$*TMv~<9F)`WG5;!f+%?o4u1e97;vwQs@@PJqv|n{*-i?Gdp`4_-CCm+XSlKp7 z;4FlhqiH6Oy}Q2*rDnmA*!E<}i07X*{x^}vHvJ@gjr?gJvO;lbFNNM)j}He2rHlcu z5U{b>70LjMZ`bYbQ}Ns~?&aM=93{w(ME%pM2XlWuA)(8hJn+#B+y2k}C+}rhuCt3X zmFN1|u9Z*Xt&lqnv{Uj`^U}vSk?1<##i}UwJO1G1YE#0R8bQXOi7b=hX&F;L9sMtr z_(V)zPFR0n-FoD`Sc{mw$y-JJ&j+-1X9MN(5rlXhWoJJZx-cgKyWhd8Uq-|6=@lsRv8Qlq*cBRwz9F1h**tx*E=c}xaU7VBAgx-+c47>Tu+=T$+$nLE~D z?6u`3-m$4&gATOKT=^c%iCcCelZHB$ zx_$b_)A@GG9mItpKoCm`($nvrtF1p;)VKv%b7~ITX>2M!v-a=)zp3Mvs-dMTa;qAC zEG%p>&IjazhgC{OT^V^!}tucN;}GVNc8q<(~p2Mm-P z79f^$hIv=dvM9)#gu?f5?d@Ut%gbu-^NDURFInufK_{gyKi*`9MQ0$<9fpv)7UaI{ zIjL*WA-qQU&ktgsLa2}&D$KaU6QL&xo;N_};m(mw8TFp5on%N-hm~8q+S#yk3sq&e z@DVl%a)Q~)9s8cCKJQ!%ZOj)_4xd?TXnV~{>imACh4BW$QG<%E_64mS^x&g3Q;7ai zrY<8X* z-*q@SB%K5nNFzluOW7idjDtzl2nbfv`q?Zd2k5ZTq<6Q4POjk^90wUIh44$MWx2KY zG@+9N{3r8Mqnv8)b|_NDOX1y>ZPck{U3S9oDdeT!3Zhg8Ou_n4PE0Jmc%L1@*&F-3 z&ilO4^=inGidFZB24XcnB){)-ClY*cevx;o{i<#OH@aY8A3zjTz8Qe?K9u>JYO_v zVQAIY_8CTz8O$pn7NU|iUo?bV7ak!TcPY}U=bzgj_ca2(Q(by7#j!P)q#<$O~O zzzXX^v|n?9P&1Zasu9psNmKJlJ`&$fyGq*Oft0C4z|1^iwm@?6 zwi0QPWn@!2Cig8nyB|#`ynH_nRCr3A=p6@HyNEN5HU8rdY*~;uW4IJq_v8z?$iAOn zzFu6`O7pLp{f4dC6a?}z_0L1c#}L)wGS5do$jBiv3W#x9-4YA9P_VZ^mFMWSyag`A z7S~#|72sH6)4&d{x5>s~hQnnkjvuPAug zLpN^)&#Fbd^-;NUNO)k^Ul?c#Xpm8wR}|OiX$=yYVErMpie5ukr*p4frF<52 zOR;Q$7H7$H)tZz_*8V8>aQT}5A){SSQj7LKQX1Nrus2#vAk+@T$dj+}T~22P3-$K{ z>T}wIkz~GXGCKME+Jmjb#)pvu?8(({5Abs%`FjQ+YmJbb>w(VpEU4J=_k*7;trlC2 z2lo1&r%Z=ET^z2-_|=4o($=)(jz_W)@Z_K~t)ui}s%wS$1 z?aE({h5Kd|T=W^>n<74@&b@4Nw_M28mGdsw_B6!i;Qg)-kkcnN=*|i?{-vE{4<7}I zr;}LXpa+B>MYEA#bSAx*X4^|sG^L)trRHPodC3;z7q}vgj#!ZbzNj9f{isO2Osz+A zzz$XIt-f(OF-0z5-lCN~`j2@x=-X!;G%|=6gCOL+=}h+;oFGgwyD&HYdX<%iaa%a$ z;ZcZcbQ0&zPEnhME5kytZ=OH~d9C-l3hmvMe^p>qdm)_q-JyVFH z;&jbYIOa9(pumC)1tctVkBL#{WU=`{;ap1dVylgEjEO4$C(7>YIraj%u z;KmIIG{E(@v5W{9M%Hw6bX>iV)|&YhKpLd0$S@OATs?}O3##YM+ON>)i7 z?%twrO2Nq|9iTb99(|pR3{?C#mnyQl7`?bZn;)8Stg_-6{Gr;O15og}txLno!+mUX zwMPnGtC;xSYZYpLe9O`Z8TdyA$BrN-kM9g3z@+y#Cz;ZOIv)aB2zFva!wscz#WrYh zuvv{=OL!z9moDaKzY)oew=l1$0wSej+xq#6UkzK(mM%k8{(JKqA={g-0^0Q@feNHZ z;6_*lg6^tljFT}7VtnDTZ=b7JRO<)~q0auD4}Q=G$PSpKk?lqXLl`N=(D(GyJDafSV`)SR_AzWh2pj6 zhxrf=Xius=xxh5);U%JTmy5Eo;f^g^U{5Y1985lxQEoDpp|ZP@6TNP}z6KH#IC0tA z&Z(3l2ouNdp|XqoUJLsb)gaWl+&N_P8RhMj@9vhQ7uJ|Bh|#Lls<_uBT<{vfo3oQ_^oG2_H6Xvw^$7L6%%WsY7ZwJ_d*1gV|38?BQX1`ITXU>f% zZ;$OCkBovJCfC86r{epa>!-&8`W50JZ$t_HX!5RkfQfP)58<)+MH4m!%Y+oxb0@Gj zC2U50f~@(n+z}n~r^H0Clls)Q6OCuVWBcViHhoheDR&a#?XfDD%MR#KS5amr64d&o zEd_1hU(*cnHBX&Sta|RgCj1r-1?X&!zVs*&c$4}uVc!i>LXs-pE7UVwI7H2{RkX7q z{rCp=&*`EoeKpqfN4e0~v<9gtdz-bbpEP0iWr%WvT(~?YHQY35bXZNRVAw4UQz=; z>Eg`9xeD@~;{2k9{xV}$k?dRn5N5V<47-1c(rSf4)92Hpp;rAcqgW;qv|;Gd?dH%4)$6N^3R6ryYwbhz?fkc?(TLV*Js@ zBZyt$;}#z7caDre4LEjl6Fg3`y{`wSw=(jD1w(o}$^K$dDC&i%6ED9{!Nm(+2&l`x z<78BL)u;1e;CpJ4$f_L1s*a0HeVBEG@~#G2^Fd-_;weF#vFivuUR?~?s_s);jx8^$ zz`^L>Z7^3wzNjXvsb`0DorZd_GewiZzmviu<9Z0{uA9;~O`Kfdd!$8QDmc1q<|OM2AO(z|aHjJgf+Uz6r~NrKx-=28eT zJ$C;4jJcb>ovq25QeS}EFaBJx7=IO2O!a+}5t4_rP9?{P4B1t*g`mAa55B69f!G9W zdAxm^CFRc9j1T3Z+01=%$H&>n)Ag}}@CJwZ)4|;2ix`AeF^4=_c#U)*q4Y@#O5i5u z1?6E%aGxstT<#^Br+1m>M`Aigxl%*@%Z&PT8gJv$XhxY5TCa5 znv)KjKJQ36dVcs4J&}jH^j!gA>|IN&yLvT_9_CX^AWv?Rw!L~Hk=lxW&p;lt-P&&-)Ga_WB#$DiW}(~#5b+fcVqR(88a zTs6P{JmX>fDZ@dqAxraX`)O^b65^@xh{VwvxAEz( ze6af=k5f(h0QT|SXK*AOG(aB&Zy82I1zeE@ zt5t)c>r9ED6dpI!;3wFxS#rbMeC9r6vwhS^Y9Ct>)>O<&5|61wmT8KSW9=ra4&ZSm zxo{(e0{yR8}iLu!uS5$l%g5r7>d$e_BvUs3Ycv2mSNQzlBUxr^3+6JL(;$0`ycC{B9Cdy1@GnYb{#7DV#_eC$?B3JC;?X=vR#ZccZtCGb!mC* zk|};;2|9UFF7ux+qT#=YyGJ}8IcZeA>3@ArIaY%VXmp+RTmji_GEO^UAM{zi^tQGh z1|EJ6EGzf>*-?!0Ea4*&;v5r^qUnuR-8J#G2-3$a7b+ffY|HU8jm32sv zsaZjM3BF_}Sn@Zgp~J2mKWe?&GvSzlwl^_G=K!I?6;|`-!C#KL^k=E)qHdd$I{L zrU3|uY}QX6UZ3+X;bLSY2-__5?abtjr6M{gj$^Fi2`I?E@-iq3Rzy9cLquNS-GEG2+6=whfFo)VxmtcZ)(L8K5%QuJ&|#!sQdJUhvl(SDku!v{7nU z41px+e5D;f$G+({!Scx)V%F7@TJt5|AzvQVO`p&;KP+{OinsCJvGU%jGLF@zgdrvd z2d^r)3dQjT$)$7Utnr}{uDin1eM{#U-~xFDY|U-Rxw6(zCRleI`JXe|crc2ilT#eT zQM(RL#Q&6;=Xa36I0_33ojpOnlZf6=22L0#O~;qag&79uZ__B;XeayWGyBTg3!7g&|R`kdv@bVR@vgY_CjQosq zC={`7>;pA%8&|`(OvgN|jbNAg?*s5b6QHmqnkek1?Aqrq8jhQR()A{Pv+b4|OqwoS zy8_3oG?Xd-ZnLn2y9r!7GxbxZWM-c@Whc@^-rm|!84b9xQVn(j6{eE!Itr$QdO4Wp zMbta<=A@^pYW>23*)r7??k9*p&1HJ#kB%XV0%an1OMj!7sP=REP{8%`66!3LrQm&?TbTqhmN z7xHI+BF(310({vXP6JCrivh4eG!ov|Q9y4oCFf_bm-g_k`BYauNN!vj9Kad?2W~c0{QIj@hv2X5TRL zyS2+10kvA3-IhSOAWjj1Q9C*>rO0SMP@5ElGn2A7KfqvLIyCd*pv(}bdyt}Q*bX~W z({a&?upaw1E(f<@%BxpC@=pIf>0vWODddqR0JETKq@YO9NkK62^25hiZXud95gQZ< zLZ4Jd(cS#Yv1PUo+yoa3?4ZJKkg2)IbE-C6m{UL4n?R0Q{J9%Nsf_=LAnxb%zreL*+pK;gUusH+=XMQD_ze1GF;)L@U`Q zlID%SZY`(qwI^rRQ&AK;IQ0+qZW#waPE@|8!M8ko^VNW2()pi<+J3Sg@0;}Fgya~lr zl824z{LZ#g`1KcW>dCagrfHBQr+H_uz9T!R1d0JEAKI_;T6%sCjK>(9 zJ(jS9h5JHDhqpnvqW5vGK)o4-S;xjq9p#BiGK9KY(fEWxk8POr{gbU@)1 ze;_%o(f)fe6%ImIeqwn;&6)S4RRQVBU6e;zL*Wz#_2*&rqKA3Fy^Uua zb9N!=kQBp^$n~FiIu^g4CfhSvfFvX-Za;(>+TNzNv&3IXVierK2P%11lYF2K#5QoUR8oeGP#F z)UaCMfHBX=_(?;>H{}xPA}gEF@Qj1Xp<@(fx^sy^kw7l3SV$RR4`?Cp@z}J)Vd4&9 z&v6@alb}pKJ?g6jirr!I50ao?(wh@^QDrDq$Gi46Ky$!rp!KmfywL%R4YWBc9OF>vV>d{2TlpSBwq@6TC(o=lQEaQVr?&dYBIuaQUuUK%Ll{2 z{otklIw3gjy{Q#dUp90E%Z-t5iKyDP|6LvhY2HmhQhBQlfoa@maO`Kcv7u_eFOdT3 zL6ZX6Vm->W5g%KOhl;$69uXmBjydEpBMaVsep=JkVqI=(gEP*8<6eJ5POK2V)9iKh z%Q8}i!qBN{Y4*1Evy5@?>EcDDCLZ|h#~1;M8|itHZ5yCBc@l1iUO_1csBQf@EI zscj2{Y>A?!ucUy{IG3Rq)RfH5ygP37(zrPU4xp9e6G^V%Lj5iRUbTX>K0q7k?-7k6 zH(hq@`yV^F8~fF&hp*aO;WAQkKtvnfn$MIuwkrN{dMs{*n1EwCcVT!)@T_?+o-1qt z{=egyR=tdJ9EsD2>$SU~!ED-Kyj};q`9VpKPWj3b5zQdZW!*!SAGiIhnPH#P>}4|% zih%~~c=72QTJUNB(BsnD4H}(P$RVuQUfaGr)uv0B_G2I`&^MmwpMC-n$}X7|V@s7Z zg*PSF54|lHy8C`X;do;1CFWqv#lTU|?0A+hk2ZQLudiBr=XeQFy?6`8kSAKf zduII`#VD@RA`dubCw9=zwed=o&tGBsa42M4NP%O0Ksu&386q~|u+c!KX2TCosKU1% zNBXT5>rDQQj`sTtjVpYUCHqrn%EDdn9d|YT-o6`@!t`Mu@yf;X_S-8}!e`QAxZWQR zG6|$Kk1`2OxYdm%L&J$u{618Rg>u6P#8&!RAsU=sxl|hzSK#6M^Dw`lb5TSq%5R%6 zxwb(6svJUOLbv6G`TE>59lY^`Am$U(=egB`qv~wvxgtch7h~k#U#}j%0<)Fn2&8-? z5Ewt|%~hpd_s3qMPggbt=}%9=NoYx$cDx`#UGc)Fu~^sm{L!}O_q)%%xI6GAT1vZ4 zog^#z*V^8$zp?ew7Sw9H2Rq@bKriFn$B;0I0d$s%rX@iHR1>1&er00eLzx%m}7KpogW8kKE z45bUss~#eTGn!joW8WevniN>W@Gdauq~FFhSk=6XS!Mb3gP3G(2maLgOo5gvAr;);`6*VnknUiIMp(D7k|DfH5^nW9 zCB=+#!m|V4^V8rlK=6wuCTuNB;6s_w#c61SwfA2qaTv zA=zXRqr{Lh)Mh~TCv@GUQB_N-7kvqGI{6}5bzi4%2IW$FoC=RtS+Fb*%H?+)m6j+S zk=MwHzc8B1Yt180*omZk+<9sol*V}}cW#J5JV^4AL$f?J%X8+BMCP|nzSkAb=NHdW z0=pr52B_NG#)inSliMb$gR9V=j>YzNCb*VU6FC5T3c%lQ(_8Cs>t5Pcp%%4Z$eBKf z2FN3Pg2JTiB7((aXN!7Li2e%&1UE!CHowd&8(KjO6UepFbl&CytH2FETKs`kI3FuJ zC9$9>8RlRY^NnHVLuhEkC_d5r4yEC1=X=O)TF&ksUh}))x?h=2cfWAI7x=uLC7?n7 zkp0qdZ{SyRH)$j49%FMB*3C-I^;>KWYEutPw;%L)smG!6A{ZSE2PTcqIl08~c{#bn zybC_%?tA`;{_Dc>hhv0IO%g;O8cXyH-FLLbSt-@TXVwIxb^)IvG0e%z;h1(gYiFnf zkKiabc)1FfN4+@_FLR1QIN+w{o)N4Z+M~^}Y~eVsL<9GcKS|lmr;~ApcQK<{CN=-7^46Iu=YvE;NXV5euN6uiTG{oWT&>=#xHgW-3$kC0z|a__>l>ZJIPK@8bE(S!=i| z_@h-~DARQ$-i?PQ7doG9*Gp%otE}?+-0ETW)WH!ldDCF{DXM1CFw<|i)m7<`I?EyT z`}K_t58Y1zo|>Gf#^8mWRPUS#IV1z9nJ}a_Wi(!aWljH8u*AIub$x6ikV?%UZ>df; zjI^WV`HX*kww&;G)9X)SE?`>E(X#FOSGo}at`BHIujGuPUvHX$dT(=O#rAcV{I$Tg zquo9!+lrG=1JX>zp)AYz32(+OOD>1VI-o^+RNV3qM-k&5Fp1d-?jk>kcjvYz&TR2~ z5CP-~yPA9b*^@ImrvNRikS~4E0pJOjSfVPc4vqN~SZtzn zza7*U)!E4}9~~*(O$j)a2=4@&;Lx?&OHoHe04;G>P^5{_qo#d$Rnl`2TY-wvC8OUi zhfq^MgXKcHoWgIoi_MKhJUWA3RwGVTt5z}8vT@v1NrAve83CgWDp5cQ~YD<|=0MKf43S96mt0gp`&q^$_X(w^EAa5DBw%xA&9EdKG7?-@!r$?;g6?5) zMbuP7d_v6!EFXynxuo+iH0*-VNAWoMCD7b*#sB==zw2L02P~J0qRvP6vDH?O`wwPr zsuc~}uhyoLRo`;f8g-sjRz*dPXTl6_IAgTr%90@?w8?SEE*y}8p(JWn5gmxZiLHGC zBU|9ttUphlQK%86o~VAD-sE)FM<<&}>MOd_?_Y$d!xYOr6e-YAi_Ev>ZGm}e=Y<## z@3z5R=UJ-9v}S`2mz3)Ax6bLs!jnZtnwT-w$w$n4;BUW*$VZ2fgscy$8!P^Ojk2zyiusC>GI3|goasQ*`#RTJGN)CY z0S(DtV`EtbstO#5i5wkJST=b&Ssc|hiezFrhd;c0W-+JkL`n1dD~e0XP#x7|(GLxL`YixAe~frA1a68W$w)YXs(+OCdDmnV~X`wdm#cE3qmD55UfqEq#N!sq*`c6Xo%8G}@6O-!xUfjB6 zpH6CawI3JutS4 z05r+~%lTHCVDy^%N?Xmw5HpPpQ)~qes<=2kF4!@bQf=~D!QDJ$Op8#c8iT_Hv17#M zYz%>zpKy{*5X#kyhX0SGYw)Z4ecvb7a$7oKaq)zcU7wbXWi8v*a?7^8mc6)a+qR9h z*6-c-_YXX;2lsRPzOM5$=0Cco9JjB34pkd%J2OP#6UTC&<25~6t~C1JwNVk>8SsG% z;XvxDbP^zT?Hvt)r4S)W_2gRQ2OXLst7e`Cvm}zQXWo^1Et5MJ`5xv6l3#csrZLFazvLegt`>Laq1g&) z6lb~=lbxvUw`~Rfm)l*#@A`h#-^;7D0YTKLZ1np~LPv${mccy)6k{Mg08yrO_cl`E8+EjEdLs0d#Qg>OxhyYyBcV> zs5Zeo2mRbG4{u5|vpX`VkHu(m_+i%8g$`L8(3Mai^>L&v7RHyFa|eWgl8-u+RIsht3}Mig2v zRT`JC+ajsH6a4TLJP%k?o>Gz5iY|3ip4*AgqiwBwaUG;hNRb(x-+UIyE^NlUgLW4q zcC|F;a_NNR(XY?kztu}>G}||}o6Un&arS@bN}YU^IBM$#b6A!~U-f&Tns5*hxJY|d zCP^aCpJcMy&~yd}Y(-!0&>U5VYb$Z)U1m|drSa6O|M>aU zz)~scY5qqI?`6_cYy7Htd{2Z`(TdId-(T35_^4)|V#%eE{}C(mfOW)TQQDwCQyLux!jO7bO(6;g$am zgsC2+l2F*AzI28CtgXd9L*5Mu{C-Mm1)iN^M(`@EL59XDZ6Nb1lVP=Aqh=+<{!a?LY#}aXZbRps77)BU6I z@D*jBEAJ*(*!0KgoW|sN)0k|^%bUcb=4$ksT?0Hx-jV!z?B_F&S};uWpVneFNj0ZL zjEly@@7w08BiEZz?r1K)kGKrN|68tSY5rSa9>PV`%c*0vlFt&Wp zf52MvQ-7pbRT)mYs5^EN3#a^c(&7HNE^7yAGBKC4A`i%!cUJuGh^%^PJVEEoL+&2f zZL`Qe^&tbTXgx{Ffhy%n2Y)R$*2Vof39aW1oA4yH`#!3T+tVX)o5qN}56PS9-QSXP z*d`L(x}+!tH1N6~7gP37&X?WcnEAU@6f^QzSp9slIzp?i5q}H8xHZXy&ig5YNyW4- zzGdL6=-KwT4hYmb9-s(rj!hwExt-UUqTiq-;*y91aX z6<(Ej7R~L|iHPiFgrBD6DB)~z?cc|KDEBsOw^6;f!Zqvtrrq7qZHx|2RG>te6)#S7 z){Cdh&&jj3q;(B^%hUKfahBv=@qc4gnq1n0tFxYI59AedW*Y5`@`sXXlaq#DhzUWK zH3sOFYI7O#Ml!6&gg5syW3rx#@ba^tj=Dx@eDfhs=>vcg4;O8muhqD^eXs|JCrC7g z>@7lrXX}YfSmBLwW0UmI&kAGWV1FU|d3K@K$U!8qVzID{9zs5M#n^$wPjO_IExo0> z6sCtBH92`V02bt@cvYErRkjXbmy92^EXk5O=ol729?M*t=t#G|_22QJvU=))7MGtu z;a5+pDl+hy%M9J`$8Vx0#D?3wLGWyagOmmvLFT6oc`$|5YcPFia24568GMTQ4dJ5{U$+k48iV ze*n9?a2dkqD!W#DR_DD)-l@)jY+PhX8`scW+jN*tOK(V`T5V#XYBC{!YmK=%hsF&u z*f(F9@3SsYL2nbYVR^T40bsbmvpZ7$`HfSA!BNZU>Fw9V;6Hy)_>^0*T7aE9Q>JV3<6eE?}(1tw- z(yUr6;fSgp4y@Q2GI1G|`8Y;ZM~cNEOHWTE@O`-93#I=T|4(;n=#yEn_dlK+6X$I> zI*aMYc00^bC3i6yRaSK3uP|*^Xe<~5A;wq+BeG37+bk?2*ZpsDoOO5XJoW(<7#>X~ zp^dj_EXg-sq%M9D>gRLD=H*`WR+>L&-1Bx4rbA?+T3BBGDM43G{c2mQ{a>M)-7H zT41tL$w)tynVvFQ*n7Jd1)v092*ru_P&_iGwvHW?XPZHqBDfBoSJz5s{!y*mcl*rF z=NcRs?y5LKQkKlGm=aZqv|MSiyj2*}%9_Q0bql*gy%nj?17t$VkaWkq3r4Yu5SemQ z1yhoUF#@iV8QF{0Bg|Wq@QR6a#4l}dQ}ZTbpO;}lqkHSa3tGX%hl@ob@}d#PvGDel?L_@3xBW#`ms9~;o0X5dvT*<6~ zR5Tc4UU&=bvguyM>z*PudnP`V9qJnkA^Ey!A%2tC(-1~ClvIQ9EtFO6}>CFZrt=fW7czfRi7xnJ@EQ?2{l zz_0I7)nWW;fi*A8$g7yC)*0c4=1-<&OsO?1Wzv!&OAcU1kp@M|8We?*&6m$iu=lv4 zfb?m7&ii+4;~RwQ1xROVb_S%fH{)ynr$aED@2r(K^d0(#(!|yEJWQ09E|2D&Ab075 z=GrV{DJp;Ehv2?DP(}>J!WhHL}rY-3ISy0&Q zmuVrt_dB1W2I$RA@sL+of#XI*&;5&TZsg44BOx%(D5QrHgbum4Du6xe;$?!Lzjg}w z9je^R!pfUd7&G<_b-5}peHT!dTKf^kh!C#oh|M?pwS0u+K-l$o9bJkQ3><$onFu<~ zYk|1EM$oKs#j;Ddx-{%n+Kbqylfj;@V^99J-y~6Bp))2{mNk|MYZ^+nF%#a|x0}yv zRm|;ccwDS88tBGV*HH>8MM7vRiul5_nVx|{;771zSmMV@dXieL7qR@V89o6$?PWGA z?#?h>?^Lw8r-y9IhwGOe``PF0Y*{<7i@&0yYUNwJNgeuuW#Bog9sKV5{<0)`GkuKW zCAdt61=cbp_B}Go_9Nf5JMw0oj3(dmt32!d7Mu4$&uE%;b?7PL1fl?Lx`}}5Ch%ML z9N}83sAwNLPu^Ww+Tblnd!sA+Ogcx~Vkrk@_csLzkO6RDIN)D*9UgFxF3ADoh4$fj z+ATFi#cV2St!#4+_Vk4x%ii3ty%1Wq!gq9!c6nEox+fn|bu!QxsJgYx;md!04^bXa zBqH1WWZE3WVfiOU)>ZMSN@W^}a5Gbj{Wh?2GsIZWGL#}*t!C{|2d_l%&J>t)#Py4y zLP!&#;#fDic3&7O>mtfMK|`d2Ss?+)G&s|CSLZJ)fDWc8mfMkT0M6u?yEPa%lY4YfWtK zZItpirWa#0Subd+YSq*r?YSA)pgifV@?QZVFv+Q!bn`FgQ$@U)zvMIVFmfi10!Qz? zBphjzj(z7x3^aoXWl@P6Ip(nH3L{hkwqZ>12y6I8iTc9}2F)^r-S2ntUHde@xoY+l z2vV73&{11H@0geDc+G(U)5XveCBz%W_!ZS-Ic+x7XZycax+JWKFH(< zWxd;SMqJm?XGf1l2eDOj^~--q_Re)#Q3diF?%I7nAkClEixJ>DIV2T?jF#29uaKUk zhU^ax#0^T%fbs+o9_135g#3yvejzfp=UqBNYb$j|%QDH$&>WsWhn9&9(>qSdmE>_C z&d4{X9;r4=8_71rs8?ka)5CLtY!{-Q^=mpOUT5zbfZNAtscr6D75Fr-uACfK$}JhS zaCRjS@8e0$%1zBDX?jGLr9y*0;QZu}03(-}A|q^D&2Av$nmSUQ`k1RQ9MDV@dZ$lV{Zu6l+r96fOFr1*m=lQHh1~MT|jU2M`U2+wgB3qBO41= z)Gjzpf6$_)>1q0zRxs9Q*C!Uj@-&?3VU{1V$d zwi{Y-;9UZMik+8#CF}`nLDk_+Nm(>d1_#;5`#SOcV({3Am1Wg9%g{FKT;!RtInTpZ zZXFsDCxo6ktZhlbjvfcjY0Dn@K+YZEYnd@Op4|5ZdbZ@qJkiFIt zhP(UOZF!ZyO+}b>>>{g`Aia2<1Bj%*ANBLEFDhxM*GQG-(X~Bb#9vW-(!S1Ky=P~e zt5_q_vgQnPv}uQlTuxnG#!p!kV$a3;T9@6ofNMPl9OFj51&-8 zE%Fvt2iI#wiG9FHrN&awKY3?*Qlh%kpj>W@=RZba1U?;&VA4#uLZ$_A?7@cLQ0w}G3%i@SAZsuOliavDJG&di; zF^GB5o4b3^*MTPkrlEe2C5B;6f~htkILoR8lZ^V*rQ9xp8rvstBgs$6{^N!jPb|CF z7|Px5tpz~7ipXWpR!!(F$AmvcL|v=9=AqH>&q9?~6Y%yjW}H+AQNI(0!pqEeG!n7v z%T8f4`BoRAW!Yu0oemX+YuW@jBkcwUME%>X8|U+ISotCU;j@QA-kbJPvy`-GDJjqanIdHX^rd4{2?DOKuIwU6XU)D$5aC-Qz|CmTWes$sv}cEj=md37(#W1<7J>4A-e z3l?If#Iw=@tjGwX_Mcw0^z|2{cP&@_L=mlUlga=eC-#W%2!8>fo(x z=ya(|nx+DFL@ms+trPBe(9`eMhK5{3moA;1b-AzJ1X|#6ShJ|;0>gk8+{{qb25qf& zr7sEzu@?`N83e(A(u!uJO^LdeR5a65*70))_!Tog<`C$ByO~T&5n6!xcl%E#-*`91 zrnT}tqDk|t06)X6RHV^mflA_i_In!nN1!Xcl2-IYwJ1T84<8yI2*1EY&SM^ySKy&S zjMATOksPUEEA=VL+3<|+tH-l^YYJx|K6BR*hTKXklDo*;Ti~B!EtX5GILkSwUUl46 z*g<}d3Vey=`oLdO*2Ne*M+k#6NKtn_=t??+>Z(>^SoWeAo|Vw`quuZy?Tq0)&rD{> z(R;rBgBwaG4fA1jAhpxZs&_V2cERWI8&db9U4CSP_KbeOI}ER^Pf^dB&*UK*PbMr5 zLK)8t3;A;xPoBnZ{LD+%+(lG{YtAocgB)mtK^z8|n0$NN=qty|ZVuR$)T!!>w0&P# zJ0(;!kRCWF5XLuoDvB*T!e)~QuCpRCEY@IWo;5Ux9h+9af%A2Z$AeXtbI*rH-t`9w z5Up!C^b!`z(#(`*Ou-9CqxbvxH#W&(# z^vi5)N+n`>a`hCzm>E+TkT|~*yGBQO*QdSLoop&#ol?Rp3fBAvgEo_mke0_(4k#!) zVd}vsJ&8Es(Z~lNiD+RymaeNsb^sPDB?)< z{8#EnRdEbn67_Xd6I-xh*ND=O9{IU4? zUJTx(@P=Y200$}}>dNrZtXe%W4Ete>hAQqW*;cky^e3pOGo6z`@0`t#H$ejrbwP*1 zc^OWuVTwa&y9N! z9}5-6?`3U;lQ_N{0Ionor&W#46EVIbkUeOCTaUL!vie#{&i74?vx#`d8}*|yFv(5M zzA`JUq54iTBEpf@CyF*}kAwEXc(^4JT7HO{_YuEFukBuUX7VRVzq&bH?txTnb8R^EWr?+L^ZTqvi+4SnODt>U zwo=d+qb{vlVPidZr&m=0t~VDfBMSA)qnj$A)?+AQVkAA7%dw#Rb)_c3{dk&gM~ zEyQ6Ahrm&{kNzZ1iSHA!5l#BcyXexkzs{4FbtwtH;t~eAv0w1w6$K1ByRafm<&#Gt zB&$uZvnxtsxuS%~NdIS!>^7w_ii>e$B*SNUP|U@%Q24*kw71_zuxrK1$*BXNd5gjX z7X=sp#bVcJ*dBmsJVsG3Cf`&zYAQMvAh>Wbe#Yd3rhjXEAv|yz0W-^>0RuyP%&IOs zb2)D|a2S_s(J&@(u=_m zirVWh5TbDVn5i-ss~pwItK0Ri6qA{D>VEIK)ii4<@UdD`z`I)S(vOD+n*9vd@E5{$ zmT_Y}jKX7z|JLv?4u3j?uM?~A!YWG^KA+?vYi$`b*+o^2<65~lXE(e`Uha>(U=9IP z$zO&NQHS0nN+;m#_lRwdSIdLOsV}~VlX<4VqRO0Mr2!Gd+L3g|M(O&-Hz=EpI^B#L zI?ckN#A9tR9iJoix={OY*zL~Q{;s*a{~X2penG{YtCkz8UYZ9y3V`x}(bJkbC%UPd z(#nA}T>6u%O1K5!_xif)C4;~?N2nYypBh#z675U;giv5aEZAz3;R>2HopzHuI2+zD zp?-T3U|aEvhvkTuV0F)nDA&MwhD1U}G8<6B=X3p9Vs2^V=_G4-zxR9at?)BrNzj7u zhQtRrXb*XJ@wu(Eq3A9DI~9fXDRcG#`@P?9_OD{q?@!fOr{%lG)oO#RqL9QrN@|Ug zJI|$2WmBxd|KNp^K5iS#&?j5ss{9JN_5Vvy&M9)(+Q^G$1#%;Q6qzBRpIglzyudX3gemGEs0`H3O|E7t%Xx zQO4E!vKn?m1kbC}-o+vku3r%>0gyNtJK{1nDu08)ck>4MDl4#%`?!pmaxQTqxy$$S ze3mQZzh(7^uXac9gn@%E^6eyntX=M-mEqXd%c?qB2EmTZovp)stB%)>X%m zGD?c%QVS5b-_tDV^Yw5zyLkO~QP=n03t{~W)VRJb+kS-v#XI|ye>u)w_txREUPI%n z4~@A#|5uU)q5%q+CI~@WTf8(l{k}Gnn(g@?1wlhy{MJ@?sxIwZ9^i|<#1lIbik@cZ zE`K+e1Ka&%0h~O2s9c%1Mqtu=#{fi|6i_qbY14QjvauQ4C`_Rzam{)n-`LFROQdP<>k3Ks}F-> z3vTQvx4o*ZvmSkEt}_&NU=Hx(C#12TK0B4U=}9Ii!_6hW^^1`53Vr$Pxxxj5dUz=1(u-R<=*D1xQ@ zrT!g#>{AOvoHnO;fvGEuv+uI8`#Nz+?JBS(W{yN>*RZOk<>hz5Y#S;VZKa8f5nIFC z-xs$fjtg*d2SBoMxK!7Q$cP0@aZ=@`=`B$7y;n=2tx0(z9x)5I+35Y{=FnkBprF9j z&md5#0vc8Bxm(cJF9c^E!@e8gjKhI~(!1XSC7CD`x710$i>^&0f2yB?BQDs<(-NY; zb~T^T-j8|lpiS7sG_`6#M~k{cF+XOX2zTKlYQewRxb-geb(KLhfq!coDPu>oPEoWQ zUkO-;g(E7~_5w8c8*RvCoI#9nqN#t0RsHdxj>xdviK^uOdVEFA|BRo94*6IQ1RmOM zJVEOkEW=Vu3vUTQk5ck={pl3-gv>|Yt$~b&c3t%-E`;II50$Cyli|NzG9C~?`31KW z8Kw)6Si!;A&jI9V=JyOpFi-AHH8oQhdg!)?zd5JegVA>{zvk8!0~*!~PVXgf`K8x@ z^DpY}OH?tv9i%>Yndw>Q1w9A@8Be#?;PD5LXXmG(STJMSe}V@n%#%m?5!}eXdIjHq zy$DMiC-R)#)8Y`k($>~?zCBa|$21*`1n+dIRsi-YX$Z{|n~z$8QPewKw{~(3WNX={ z@Vwpm|XhJtl#UbVF7Q=uYkJvvDNS-=nMx^kY>Q5%+M;5p6S))tlcM{ z5yU=OI>0Di2E+X&atp2a0=nU%XzfP8m^$&tA`V`?B&ulu75(8;sp*=r1j8d>!Jy6L z|Ezct`WA?J91GoBk=`7WToG$E`DVyHV-w9xFF&MFF$Ee#(~3~%J09^ZrPSLAfl;4L z4|Dya_^Et9O?I(fEIxosbIFz$x;N$eaM%+I{~g+LYA z16r&;Lzu4Mt<oRx|T6HSYCC`buZrBXFYV z&Q@}pLbYmTFoUoS0JUGNQF}gSnglM`kt4xm-}q|gb-}maHv3EJ8wU-&#rBYGF-X?M zzXFg)P-QuCQpI}1EsIH8&7A_?g4&RKPq_XCj$crxEb}x^mpK>h+N3g@c4F4%`)AeK z+>n2IhgITy|Iq7#f0J6TQ5EE+J#6992bk5#eCosj7LK z?a%>Ht&?#9Obeqc8K@JQAtHl|S1>p8n&{^6Gocz`_eX$ShcDvoOBjiKGiE|zOa=7JvARqsppp0@K0L(hNzVAT-4L9Hf8Q&O1xuqjuoGBPO})$z8#F8Lk(w31N{Uyb zIVc`${EUjFIX%D{~7?@dpY&tsuTa3 zt$z0@vUtZ4T)FfEz`y*&gJ(ru+wPb`$ii>X{yj=XJX^Beweba;IYnMBCiSebJI2j3 zICl#8%wR8&E_&r)f(YbSaE4t+^Y^>*Ky1&Sv&qOO`J|vm_0C1Y+5qDm(o>nyfXlQO zTV$fFkqg{2KBbOaLky7t-GeoZ4rM;eiuXcXut0Uq=pw!cAQS4dCWMydo$x-~2)*8v zh@E^K2_$c-N{6@}Uxies1iCV#A_`kxAQpB}2&e}N!ZZiqTnA2lX8Yb9CbgHI)E#dn zqWjjq*16|Jx4%bWCAk(6_2MpcUlVh-L}fIYdgLw5UOTylGZ;rX zcBI&BnlwYf(s*rM(a4v6b^Ji_iU9wY_5v?0iSh!Go!0y#Vi|F>NMt7dTnM&CWPR;j zOq=3cSJ=b%4zw%5nNF~X+n?4L*NT&OZOD_#7$j!)W{X@h5 z{3?sTe==~AuLXp#m~=Z*?dk#5lioeI%?)-J^1+N;a}=TGzBRIe_TD=Cclpy_6MaM8 zQN?b+8Sc$@e>JK$t#}>>EkB1L6%zf+sP~Ae@Y_WoUKZrAq|`22%AySeKUsQeTnnRqb6yVa$nDb z-elyJ3hAZQTNalw_@wH$-~k<*kuOr0-oqc?l&=YcXu78KWNhgn_Iu#CwRFiqYpIVM z%EHS5FO%i!w!haFSIwI%Vj`|#Uy=BUOiP(?V*!1PayUH8nhaKcS->FSoh_H~diYX# zt?@-a>JOvE*^iYLZ3GM)Zz7}3YH=vUZkK*exr)->TKDjECvHw*gF_NSC8bvU*UpKB z;+xCP#HBH+9>~VUm^zHDS&->s*rw*DM5U*u3x|XEkrdwn>1mYdZ&l6)tmeCU~ z=2{L>wro{HgujL@t~j$1S`_BAb?*cH8p9CeoBR6f`mLvvl2tNFeSerTWC!1^t(7U88{+U4RW2F{ed?C9f@-n|Y$+ zAI_~6I7ZpdYZ1J}d4{GD8f__Buw{B~c*&6gL^(-y>zRCM@Y`4J#Kn5(OPn8&P};tt z2#?#z^-~Fs0T4jA4^k>4XS~o_R z{q-Mfq=%d-k^6T}5_P`ry=rx!wC2UqHgOk`7rf^CAR>*dEn4)O1 z5do1C_2Y2>%9<0TU(+mWF9`e3vUyvXL9ZIpwgw{Ok_{u>Ir4*;C^~~~h>v#hUKC7= zq;EC5Dbz1*1k2}?i8z9WqAY6poT`jmfcH&;Q8r;BEK9wtc-aIXf8A3MHZ#?ZlV)S- zorO6g(@iK#yMD^c+-cMiu)-R?2yVEnPYCwPIhSNvOzy&NS;$w?=>vi`Y_wF4h`4T5 z)!rz1ppCRC=l?nU~Z6*VZOH<0bl&eXryr9`&e>D_P^e5mraJWs^sh4 zcGum(xNW8$q^tq$_%4H@_&n1DEwJ!Pa`1)$>I+rc*Wv#dui4>s4hQmy~~;^27ZxS~N;s7@wQ^xauXk`N=B!S3s1+0swV-&d+bs z#Lk^G1ipUP3n(;Q!^z(V?0OeI8V}i4bbb^patqI^Ai7RCzlf@jVP_2?&Us_@->aFc z`m|K2r;5CRMAV0|82K`7f!S5n6rkh2AFe@kZ%6GUb&db^8bEgD zNN5=m8E-fCE9`u%#!I};{P1f&qyIqP65~b!HGHY+A%u&Vc!poJL|-I&4k!%&(3-Ty zd<$Z^u{00qP#7bFz_VPdi4FofXTY60tp+*Du)8Z2JBPC~Bi)noBLah{u-k{^QZu#2 zfVplYTnY9dHgak2;0h7ZI?n|cBO#ulv&+$Xgq2fR3sXW2^#AYnayeBWK{0d~TXWxu z5<4{`@o)P6^L^!?cwz2OnSZDWZKdnx90R$iU>P`~aL^W1c)g6|2W&sVc#)FV{Qh5) zD2Ba}5`0TlBBb#5e!A6sqcL}rQ7I4GaLODgyamU~LfEq7N8M+7vlO(;dB#*6##OL& zZkIS_i|sFDbHk8qODX056^r1i&wq!UH%CQ9ZI|wsg4Wk~eTo{X2@7XE+F@JW+omNY z;M}DSkahpF_PFOnjKH)6RYN~+3o4M1lQa}aNvGjg6z_;Bwd897&IRnG)b1%*S@aZ| z8RasxBWHr3kz@!i1S3S(D9hEZpley9>{`@36{$>UMlMrl&qQipWZWW-6Be}oa_6M` znhC1rzryx2x@f>}+e85Ht-iHPZ-6Yh$$i3}r5z5#OX(l=Gk~mmM=N&oNX3aY>t!%d3 zW(!@?WOu{4h7`W!sMzXIaDx-~AJe16&w0%39u7D80dq=ouqvpXcj$h?A1%Lb`^-Bl*nT_rf-c(+ zxH2Kzn;Nh`Ha`ls3$VLiTb09%!WMjZJRX)9d%Wd{ zofh6B8+fM6iP*^ao6TM~>rpp<>Vc|C^%l?`A71^iXHzhf~%PFQG zNT@FHlrAIt%lJ^Ngssg>R)X+7ndp5d)#7M37Oq#5Ho>$ucLe4&?R;@rV0=82@0%g( z@_MWAop{PItF%+vP}*4;X*hxwe|D>cn4yU%0}7b`Lg4WQuq1^W2;5g6G+3$9%1yay zxbUWXv9ZYSLp!)oNU!SH&CTsa0tulj^VT{aBmP!C@d*$7@MrPWM<$y(74DG7z`&!N zKcF{-*Dz(HOa6&uEAVUZLQ5|LER0>ZkW=+SaLcN-TmfE`0RN()rvSCF_Sao#!|%U3%2fLB^4L zM3-i4p1w5b6I&H0T;Z>@L3~Idu?fk_R|bUwMbFB5G%_SiDv?WB3R?+<7wSn$&QL@d zpK@elC07}EK7qO^IK)5vL*jQ=C$*Xa+=nMLuz7;ML-JD`q2t);S-D0t&p*s~{`}1s z5!btDMmTY2+)iD4Ywsaje$B*Ih9gw*EF3x(V}J<3=ROzzb%pF(Er~W7*I$wAFy=+j zZlAOaq1b?JPsT~svU2S9qKmD-kM;8O`tPX`P=W>(1?1y6jHa!n^-t&7)dH&9=r~Rq z*tL5H3&npR5z;Z6YmzT4Bd}_`@S^-dmZkcB=r0=>q*d)77{*U}yZ$J6+fIS^eUVJ7 zE$KiyAS*FCw$}umn5T3ozL?Q8l7O)#=?7 zj=B|D%{VqM;uu)v+0R);04raFtYJekL5!_X#|_VH(7E}U79YTFIpei#D@!KLjJw-} z*R~EiU!g7LDJC&;h6*nLWoHx4Trnh&ro&U-~rJQ&MJ4wP+Om z3tuz|&(p-`)zV!+b-6|qRxuePy@gek=B-Zs*pkL5E|l>fieFeD1}q#quEN}dmE63c zBX|_sYauY#)YoxS>Szi1v|?uz{lD)@T5CkR9KjtlKGAporS>IbM=V%@w8ACFc*_UM z{UeJ)$|_rq>!oQ{(Ah9(;r#ZWYlj9JK1_oBjv|9uDOPl4M^Nc55NQx$>?FZXp7t}2 zd&|ZSHtB6Fnl4EAg2NxGr~S)SsSD4@&+u8*W$-2=`wgR&wM8S`9myrn@wH~_Y-Lf( z)9>=ca%NT64BI6+!=9t?y4ines^~TgKtwgz5YZ{XgY1%;jzNiylec(P2D3<{kUrRuiN7_V3=#0cz3=8H`j#N46rL6v5tO<-Kk!e+9 z#_JXYa~f9`2o+#+X|UX_8&M zZcG|uBGRh&pEYGy3-O;Thc;Z!6D*;^FjgMjvc@bre%pFXcCxpCZSlRdNwvGMwXizO zm-dJ{wy+wKQ(neWlz(8atFt{`J6t#{p0=Lz%;~dsaTSASKyLvfQwV4Bd&J9Ua*F_? zqGoJKTTh~)80cS=|2jQhZfUv(>7mWBVMH`jlnxjI5V zlbI$d-fyV>0FN7X%zUx++>Mhs>@ zStiZqUF?qAARHZ;n;G$Cai>OL2E6g^$fW-OHLBQVCY;8P1z672$@~#5nuk7)v)-)H zDfXmMOkec4tKk!Pe?wbvN{hpkRsDIXle-f`uUctYQlCLmVgAk}swXuU_8&cI!S^so zb`dZMUH8#^=ec&@o>y))FdP4_J{{yJOn8htnFF&DwJj@b8#FoIj_zyt9hbrWPf*b7 ztisEOm&2HUhoH`Qm;(P^`lH6;zw;d>rd;z+)$`a`a1wiq%`j8LcvBY*dfN1Ki7eVD zo+{Vzd?dACH98&uJkETe2?mlL3{UAI?0Fe9(_e0yJbys0tvgchvuK-Yl|PW%&6U>j zsA@}XNH;I1QTxNdzYalJZ7$)9Qc1}ZG8tnQlbd(*POYshl~*o|+%N{Fz%7=~nU#Kl zo$pP??PU+<48T?7-Evwxf_Q;u+K5*9hb;|+5Q=cMooG8mE5w4c6nSB>Uh`A@#dW0|=! zsT?bxc~iJ(j!ow_@i6K|2A zn_0TT{mz14BJ_EWwS`TKBs3X@lU2X6*3W+698i=l0gyeCJw^^CYNxy|+Ef0$Y`kWj zHy@DlKCC(&g)>y#STlVq}>hja)-vpnNAR$n^iYN&XbDzoS!xfoG; zr^~tsJ?)JKv9COQUlAv5m1=@2Lqs9FQjmQMMLV=&KB5o5iU#lJ@oa3ePD@Hw>UkJ@ z;eBw&HLAv6WFf*u#dEYa^c-^#%~U#st`BAOnzAcn>@(9s)SZ@-QLpR39HH}yO%r^|_rwZkwQuQcu~&SxSx} z8Os2Maq$gR0<%_?{AdzB@i&A9#1KnDxFkev&yEY9 zivppi1fe|4Z;w4a_o?WVDO~W?cnP0lN>(?LbHZ2f2l`UB`md>iij$6)l5P;0%w+f1bxjUy3TO9%8b{Di)9*}AydUTEJ|6S zdaYJsR@d`VU8esT^yDkagPfh`OtuIYqRfX2j|s2CX&L4sOrJwhxL+y9$@8aV97a+Q zQmq)sbJocPHe{KJ5)*>DTxulcA(sJK)`w%{y5xxw61(8*A*gDMO0=12XGK{2WFlR# z9*E|;ZI+9enr$ybR;C*ZZ)dE+bJ)z(i)y4Si7jypQ|O#8q@;u$>~fV~PjCDw&^B@Q z*yEjb#e>%9th5PgShjOBj4)ilebFWY)4#BZ8?>N0yll^7x|YNIh{Nj z9s6I*C@!_OP@b>EON(%G%XGV)F&q00n$%QeDKfuIO&Y?Iw=A2w$eNbA5(wr~E9feos$ojrH4HGCZ^9V%F{5DKq{25qB z?z_X~Yh*B=^SpWxPi7(YF1fsx2xR~onsQKOY^v;8Q5f#XNLXf!Ra=>|#@Hq`z)gRc z=vxeHH@x8wv?d{EH55JVC;X_Pp7#EF;8G-z0MlRLnYAuHKtk(%S(hoV<`M`^5b-Ug z9-T3al6;j0_>Jmki3y`%L)IzUx;WNX`6&HGBG>`ReWl=d*Z!lf-iLH!!9#za};`7 zUj^_Fd~dkE%_I#*nbBW{07-*p14e=>+w?GD;-{++_*OA!uxYO+fZFCQQ4r-izgwGC z7#~&giCpbk2zFL=1TWFeV(GL9`c9gitt^Ng!L?{+C>{@5YGZLvV)yg0<&lp~H<=)H z&#_@iq<7+Fbpl=U{p;U}R~`1i!7*?-eXTO5WzzmW=nKX#9`Uxw+v;%H;5A9KV=c&X z7#o7SZr9B?$jsMURQ60@3*i@HwVIi?JW^^cOxPp18Sf-%p_y`J#$IY;$OwwDD;kWgpvyZ44&m43Gz=-uYG$)j5%{8 z>`{09>-dz(il%i-(z;o~6i9GGO%$`AL`xV)J0| zx5oz{HNBqVcaa9$mUroqD3W_)+n}~GCI2UlQybIoj6x+d5iM^I`GtV1EJs#1@rY_2p-!HKUn)YQ`;IfM(@Z6Lh{g>K zHrqD?P{UPH?!lv#JY$h%s~Wb#b#M{XTGU%bf4Jjq6+?pN`YkY=(Y}43{ilWMH&VO) zrPkP&nc4Fi_HfB8XKW$xz$#$8)4A3})8?Ib*0g7!VQZG*&(FVXFzFP}(bm*Wr3%@N zvv9E+o0>#dVP(*J`rh}7{U{bJtioV8b0_MjaI zchZX1#!qmK?iSlcXO-FAkLq>kB|b`8^nQOh+HC|`>A?X0w6&C8*58*-G1(bGb3Zkd z`1xO`(=X=M(^_;UZ;ww>=$}oV>Wr&ZQ1V+Kilb*qeYhlFF%8aOzV5-EL?SBZGL&6- ze@n0%_#N^t%G3;hiG^lPWo-I0WOC#vxH)3o)9$=qG>gWu<+_&czvc{dR@UB8caf-> zmi&qx5kxcYOS$o|XKEbmV~V!O%tWnnNY=j+W4IA-x;{m9UH-Zhgl6}#%R77E3w?`W zz?3NrVH?Y`=3>+gux8Ak^l0D}`juBdXXIURA9Bf_BR2*1;~%JObvP*T>>ia@%zjL4 zBP0BdAB@Mtmi`4IxND5O3m1EBEXmO;TXUY6Vnv^V3lYACC92ayT>pYAlZdEbv(#{U zI8~sT{Js8!_%IQ}koti4fz(DVhp(!&lu-t9os?XA;K#MDk16=L$yM_Fk^XW#kQ~~B z;^)E{er3rVtm-6VX5N&&?^Sv99~zzL=h8qnrhWxtfn}0q?$0YUO^8(?$>=Jkox*Gp zlJNOI_)hgotmhAM2b7i^!`8oNH%+J9UKR5875^nQ#>YJR9nm<^+4}Cj!MYbV8fPQu ziw0S7I9|E0*+`;SL8EeWB~B~C)->UoZKvC@teY7fxp_8uX9Qk5`{6L#Buw(LpQ^uc zL@>Wj#ZvggP%vNfS&et)@1^LQsP+1>Nss)KE^GR2Q3ymmCPr(3u>h&$_OncMwOWbO zk(gTGh)#?0I2(xL=PY%%qd4n;TCt7$BXRD!{xhM2(gjd;+qdrI?T^=#v$V_sn@eXz zotuzJ5`y-qI8;5Fal~mFZw4u2R$q&`+Ud0UuVi7@i;!4hIx9eiWjsalXfHCwuog@{If{4jp#MBIu`MD-toKT98k(nlg zQLa)n<(OAP1sRI}%>D>HyuvI=tPvR&L6kvbbhwoE#6VX2(w9QtIcQN;WDpKDDYr>F zm#~c0`_fyv^zwfJC?nV00DR)sTW@{n{qKK&(OT1)C^h6P*;1W?_3xVTN-4q_j9Ti& zP64mhdB;NQ?G!MNr$1ZY`qsA|I(g#6wsYriOqkY5di?RnhqNXJ0Bw?;^B^dlwk?~z zkm>}Wtp%;NK)D-snGOae(_*XpLaI1}`=jxq8iOup7;tXwK?Qq5a0(lDs>m@_{e7ic z`z$j(*S@?~mc(vdzbv3lk%iJU##OT2DE&-(=skA%<(EIQEVDb)WCcs(CBk{O@^#v_ zaZHOo3qBz&Xm>PZtP>Qw-4@b9C)n=rc+YYkfB4~tpW-R*sO=f=);1k`>Zw^SC+gB* zbxcSx)!n8RrSw@VS>75PauNa>V6-WDim{{p(u0#__8kWe&Zp(<0%kfgt!ux7_xbkQ zZy$;_`1AGtl}_iafhWaQQ-k(0vj@$ft<0C*7Sxm;`?Atn>OE7Jy3bsA;f2RbJ(!kYLfNVhXM8dI7*Er=K$x{|=A+fB*Jx-<(WqCXjvX6X%OK4* zcCnQ=>@w+CyU7Di>AzN5Tdt%ybz>n3!D99~+d;JApE6M4@0-0D&O7fsy7SIE4@_?O z%2&QZU;p~o>GiLFeerbO%2P(wZB{WuZlF!grc&oUH>x^qAG-gobJ#^Y{MwdN*? z+sw9jp^ejv5aW|KhUIaaYV~5hE(O-9uCEBtG&q+m(4^ARN~8)oSRtU1raji+!OVuc z0)Ov&-y7Qf97M1)8Sm4N|M-s=O9VOnx5Nm&q(X32rs}zNKJnjD`$c(9OBrlw@IA=; za_rc#uAc?{KW})$8yxb{sK9G8V3z>p0NAVq*)h$xmPde#{+3MF1JE7x-TvnUv)+5| zzUS_{@Ba32mK!!V4$*jfdoWCS@PP*)KuV8LBs-u|-_$g686O1mV#~CWFJ&^zXnmH~ zaB4eNCWsuoSm)(_YTR4xv!DI!u+X-j!OWV0_bqRE%b@Wt3nG?*5YpLGvw|E$EU^L2 z&1`Z2s(q46SnM*6W2F(ZOK!XEwlDL9gdh9u-~MfvAa~Dr;3WfG^>>4eaio;sz~2ab z1JG|fp!04Euzh+eGw{!eJ|4gQ_OE@LFN{&oa5;~cQ;WEpEk|szjsQ!J_REw2mjJW= zK~wt_8`UyMNy``nlDU3sDLF*X7A(zL=Fjr$xwqO6|L_kFO)lB4ale8WaQ^(y|9mK( zc>CMmz7*J`(*BlBJ!)fj7;DLqe*M;3-)xYB8j@sng127DEK!lacL4AnvCz|Mt{VPYxFz%M0CjyJx%) z4$PN<*D`$B3(H6`VXKu(3Z(VtYSVUII$Uyt?sml-wHr$1{p$Dd?Bhp%|uf6u#0o;G}SATWTm6w?om)J9+$CqKQ%L4Q=YYn;2M0wV$x<*p7HqI#G z-yeVc@uU5{_kU5jT|ouj+~7vG4+F}G(0RG>J&p0cE~D`>^F2QOImSQz&3DJ0cYgiB zjg1j)ZXOyoa&qe=ed8P77#MKWdUI{omoXSGolc_avt^`;xDDh1ybLR{m|V#*N_j@J z-1xomzdXqC@61HG#x6_-u>=(51orsvy|N!BUua|eSanA zZ#TKKrCmyPW3;nhtas9M_B^`fmRmmZwzs|QyMpOf;9X%@zPqF(22@DVDQ2sSCN$u7 zit#=*{bBHZs-M#S-<(dyH-FQ#L+R?#C!U~(9(-`29eGJ-iM_Is5>{OD8CKQWGW%4j zb*7k~?m365_1@a3FZ?zhG_;upT~g+cRW8E7xTn(^QL-QUrtKmBRC=9+8h>Z`9d z2aA#cCg)sd%}9_uQJNvM3JD;0Y|F6gl5LelEEhj|^ypT9KmKq0SP#DL^Pm4b@lOTb z)yfYVZ1umoe_BZVbhKEh7T>=uwcY8zd>3=l?y)=Xyz|TbD0}zj=Ha1&iFGDUExYgj z`-cmHS+4{!&EA$xW-s+<)l>44i&?%OG4WCZY|E#i#Ol&&-l)4STlu}QD+Sv%{=`rG z#E@gltoP=dZywsd?zq$XzfBw(^%m28+#yQ*D1NdJ2yyp$f>(#G$ z&7@00|F~1rc3lWi!VpSUnNy}Hscr0~HTSY?x1@?H#jv&hj2IwmzMRwB4~&ES!|{q& zyke+q;|>L9opqM^9da8X&RqEFSHC(GNw9SBvp@T@^y*i?de6td+wV4IL}Z=!wPQ?s zbRW~_iHnw)-1IY=@BH#F|MK_u=k&zKKmPGqx0rsQ4E^8P>uXf8bZO?BdtUc$lk$UX zt|?28BSqa-K1+$zS;SLc;wMXCw0pG-@MY!nGe!oE5|x^ zqp7A?1hU?<9KtM6-0MxV+oqW*Yf7YBN7l;&AbTjV7R!SmGv52|yN~X<=bj1z6Tu<{>!#D$5z98R zw91EN>Q-s~Xo*&ARl-^CK~|L-q>$qq%HGfe5HGs$_kQW6mk#M>+@^;OjkwT)+3@}M z-#_TT(t?t2C6{XV_t@XQ_r34^KQs4s1>OS!UsB-d6&Pyaa2 z`|jM$nPPJ}cA9F&m|}#feL`mQk_j@n@^{JAZ7enL%^O<=F*D}Z@wwqak_~tGd|ALC z2SfdxS^2l9+_tosz?ykj6^2$eN=X%BZh+6pKYNj{O1=jMTt071V0bq3wXc2cOMmo7 zfArtQnd|TT&hLa}L6@j5uB}S<)$CXHZIkWebyfpfbQ`N5mLE=tpO{|uRL`Qm{n3y9 z^#}OE;9hKpj~p3p(8qf4y|&$?JWZc5-_;#q7y1e({U{ z@8ACI-~R9Co_8*ddWOX}F|(@szw;fs`|f)NW0mhc_SnF_SpUtHg-YO*l0#}rsvp-= zPQ-3f46H;uw4RF{8W2m1z=#H&c*Es@1F>tlJ$`)nu7`BL`N#PN=0TFDto*|_cl_NN zFm?k{=qDxRSZ4IgWP(^#j->@0sLQmquet1v-L7TCfs*eZ?rF!GJ6{u1&^`LcfBeV) zRX@wTi+Ar2|L_lIwy*u~OY0zQ#m)l(=SBgtmK7vWTRy+q^I_)maMxXTee0oz9(wF` zuY29=`G((Md7-~xxVVCEYBta23yLowp4#e#5!n_f*D^<5q^LyHVyM>CGzI>$Dk;^2 z4Kc9X0uj<~(Nx*GiBYQ?%iT=3Uy`ral~=ia*PprDg~XCh9l5lzoHT>>HDs5Bdg}4_yyrddJO5eF+F<+0t?ey( z?6L3l7tv%CX8?Y|3tljotVk^vwg1ks1k|9?%3iQ;@)V;+0GX=FOO+|-+Ww?~NwZo@ zzK|(rs5O0L+9_Mi)V`o?rh3((ebe8m)ekS%q}1wef}{`mw?5z2;$6yw-Wm{5Kf%(r z?Yv(sDewX)%R-!W!UToAF?vGt#NYhQ-@Ntx?|=Wl0OAxh=vKzNe&8Er3AxDD84Gl} zVJ0c?)edLF&;9q`e|P_L%O#gwa`^=pUT~K0CYF&r#pSGr2);apVg}65@dA(bDX`=L zoq&&+nk?8zm86!mctIc!^|F4y;`17yO6*`NK{+y3AW{@|;E7%{``dRFVE?6%?GFTecqz>))3FqSahT0n8|3vl}HR>=_# z{KRy!k@$BseJ}sJA%5R{@rz&leZTmNzxY2~e)*68r$dJ}`-`m^x)bxo7DscI9XO|y z|K-(MzS#Jpsudu_q*Ty-h1!8cdR5oX1QI|b`j(4AJ5LBD)1g0*ruWpKd4Koem(+lD*#x6@bK?@ z-t*tT>+;M0#8C;{0r>fF(2S|hiq)8pczmuAj7WlK-(5yMTjGeQfCs1q?i78l?U z0L$VRYXv_Zo3+>{AB+1SzhAwWD$kAlPOQaHq;IEWDqS8fGcM#zMO$=QMJw`qj>o4B zkK(@)a2Z(R>m%7Uu-Y8_kIJ;a}@r%GKLAV0%`T=oBJnjUT zHsCdq6>AV~0SNQ+qgTH2mCt>{8{Y6=zxmB?{`HG4x@cCj$}&V3`kTLL=YTd^PVx;X zWrzr>@`l&op)YOWFZ@>NayB>b{;Sc`$umAd=J^uLP(wR_tZFhq8nuMwZcq8e|+bici!;EH@@*5uYUEb-*v$S z7o30OtRq7kAqHT{5cxutX;q_X3L4V%A~^H!F)ga3k*2({^hGIe9;@O_gHtTO)oceX z7D;fEgNaqXELl}-^`cp~1zISr4Lz3wDb&>$$r_T~%lF0sNOx|?G3s2dY-+I$Eu3mF zkFU}D6&E5k^OY%%dVtpMadME1>3uAx@%75HJN}oM@BR1Rf9I{Y-ujmx`p}2|%PqIu z@}ycrA)0p{g!ge|yO#8jnhw`E_0iB`39VQ=R>7gd zikL^$bPsr?r?SXIb&R zI%Q9~^>Mi`FQ)Zi`|a<2?|WbE$;h97?sK2}=bLW2=@{V#wGwm}vKgwzduGWHR^BfG zCfw3aDq5o+*RLZ5%HdV7dewRFe)qete&mry&i%n3{K3~f|M}1VkNw5E(SygKb`lG# z@J~JU)UEx+dP9HVe(6)6`qUjgDERMw_q*fwz3+XmJNMjk|3kl>UwZCypZi1d2Gopi z3J@_BuI+Em76B;I_$=)&$FfmMQ)#>MZgO|~{&&}Z2P4GZ`tRYP`|i8%pYFNmo^SL6 zPuKs1{-$sH=fa5-Cwza54gcPMzT+>pXU}7PP5&!zw%=rM{ny^~ALaU|I{v+Xtm(Hg zdc`YV@q;gV(Tjerf9)pjRYzUux6Hf8-=~$0ku%Hb_ielXm$$RQ+mb-c&rM(3e+5k| zx6wbhH5~*tG^X^&!_}6fe&0u`!Y%aAZS%qR&uysl*70}HZ;zkekTaa=dpw^9eyh@| zc|SrkiH-j6?S9{QJIDI#_Df&<;upVg{`u$M{a1hWS2zC4zx>MyDr;;Y@57+A-Q7wJ z6?oT+@oFP=?rt!gtxtaPlMy@-*di_18DQ-cyB@CU{>C2t(l7nerC<5VR}Niz>7^I+ z;CWs@CF{xUIp_1|^}nC}jc$lx@+h?x3?z%_R;4n*>d*d75_`IvGy6VjrU3Afl zo_zAjCwc%m(u2n#zEOHs{dE8L=-zwp{dy1fj~+jMeB5vU@DKFSZ~xi6&7LuzU@+=$ z7zU-5Z?yg&1|iq~?t4alxc~bwKi+TeseXHh`x|f6|9!H5{7?^YoBcM9Pw>F=4ZL;u z@Zs~AmGc9PcYI^_k3E}j;2sp8WI#J|}NmwnSLPpnz(5Rd`EIdqm7l&d7QoRr z^0gOSaKVv&zu4G;zn??>%;Uix@V|NV=+Wb6pMCb`%U<@fOZ)Hg-2NE(7+n7y9h-iC z9Uo7>&*%5Y`E>vH$^Mw1+aKQ({qdah*kg~~ea9Vle644MC;M5@bNZi`^zZLqzPZs4 ztoQbx@c>IL{b!8&&v;osyLl;p&ksNR@V9&BcsCCo{lMMt-US!;GpGw0Xz#k~uCMmj z%)R}9eAY`|@)CaXg^Y-N9rWMnH~aTK&f9i6T@clXi1f2;re^DepMl2`QC&&B=UkM-Bny&V1VZ1dwOL)$UI-oa*-q< z0ob}}8*p={T+h%o5r71u_uIqr=gJ$`YRT`xIM;fAWbQoL z-(qL7y12I9i*FtPWe1q5S3qqQT?B(26U|rDBg)sa|{Sv(YZwf2PLGlP;h-T1~U!DcN`Kj zfi+m`?>^9CRcVS?EEN@aPpzgKmUv!gJdnB|J8<*(0v6{0t4!Sph=t}@UW!4LEI6jX zAtV6IV%^rD=L!MM`W^yc-UvW^W~M-y8$9=YIyF@$uzyrAu;tjk1;*n93zpwQX8^e# zq`Cyqp~WzCy@bR79Pb}_zqARkPO2!?dx=bwn`xwc zqAA1teL~&{V1Sgfw4mg&0HmwbjKLd&xHrgyPk?d&-@W`--e+DB8NcK`U4i#B0%8O% z4qPaWx*!^L@pnMi&5iguz#^J&Rit0rf$61BurqJm#EoD#Xe#LvQ%C)o-Wc4FX6=C- z;K29Zfhlsxuta^#zCaHRnd>4LgBAjRG&T1Cgi-+F)&6?pdCD;Q)S5uZ3~(W#v8N;% zuVgx}1_ZD6t4Ul(D~nnvelW5^$w(OzH;>kIJ29Q>6d+pw<;Y%4$bpo_t`L(539VV* zcnCyGz=(_iN)IYXfAj@fpQZm%VfUYGZyL7bJ=TM&?e$7dm?*Jb50~9LbJy=ANSq!00lvLGC;vaCaF{^M>R>21`W%-Ozj) zs}(*WDTD<3B*6Oh`DzoOpIY_r40$Sb%sCm$B_uVAaG>M^@apsF=E7q(ZZX>b}Y7S>69VCI?1@{(Rb!E z=U7g2b7^!4SW7YV>4HKx@{_h%y%{0cJ#iSyAF<^9evJ zVLn8-?3yw+KRPya4xBN4ceJ>wpPK$#ny|&-DX}j)b*wQoYce$E0Cdn`$Ut6QpGcmd z#Px^H4PyDZ*#;U+JmJz`G6uCkWd$CU@je4|;1oc+gv8(yQ*&8VfwB#JKJ=$-88&topQ{W|U zl(C^Hhs@O8S{SpY)Rw$qfm&*IkkZLh1qUV43Q94Htg6khNlR+6bW3Zs-X*5zJ^`R! zoo6bTDOlf`qq6Ln00#EP_$-v#m0Ixg;MyR?zO_Ur&vgf62fu1bp-K&B2H>WqK&@iC z8bpZ}Q>r?HojAZG$F%4NjBeO20rn_e3gwt~2I%Molg5~mc9|(-Fs7Uqt7;6%0!azp z&`putfWRb`@?`;g3a|*s5GZq_OMtlEH=h7qYi6L&uiifTd`euyNDe`RdS|>(SGmy= zGo1>&&tORc<+1vN{^e=jZD|{f_WHde1*W=;($ix1V|_DvV=9YoFw57$t8MAZIbF=5 z*-cRYc4V*KBj)Qf8lfxDwp0EL-WX)i!cxfSo)TEb0Km|o-4O2ir-7;gI&v_ya|fr+Qp4#ZEm&qNl$e@#V!GuOLu|=zDUbBr1^_~w zuC-(@u2|+gE#ZX_S1@(|KJi zb(3~6kzqhL(At#jfG07KuMqqOmg*09kuxiMx29!N-y!JLsnOb~KXr_M=Z%ydYA zXHYEIV!3GA->Ge&#X!w|9pS>9CNrQA_}=yvWGnEVo_ekY#MTX%Gk|em3a&L=0-9`R z06?QatW!6eR~NWfT3-;riU5y)-!i7GUa>06Ts)}blhTXjDIq(2cmOQA=%GpIkeZQq zis8$1*$VLUiY4knu2ZuQG<(o9m-yN-nEAAX7pFo(E`0YzoG#qxt5(Nk>CC-g?NsGn7Tx2N+}0!a4)ydufY)e8KFj$HWxAl*M@M#+L@J-VGTs`H4eN^>Esj|7gXK_$ri#)q zgaF&?$X>wlKw4^e1QII^qUHjEj!mQh+-^qzKx4xF;-bO!Twnb~BO8frj5O|?Iw1gnj6`{lW~=ze({er=M0u}>1Ctvn z<2~~v2*hMlaz)CN1ts1ipNEvaqc^s1t^A{#3~9qC2Uso|X(sP!(G1%G7A1jd1X!mh zoCE9?85xzw#jXw%3A zjg0TlN*S~Acuz@G#(U;5V4}1=Uy31EogFLYH1>Q5C0sAE`NR%2>B5i~Ob0$N>v!_P@gurl38OKYPg9SNu92rLVyM=+Eopb2>YLgZ zVrf3}xhb%>rogEjSL^$9ls9IlB^YfE6e%-fL9-C+e7nqfN%b=;nORxc8mBGzR^WZ+ zG2Gluill&&DWAj*rRKr8cFvUWhgOS&SgBL*lEf2oZD`0anQ0H zEa}Fanrai+mfPjID*?@1#aFJA2buxowDc0jZOw2zEtfJ`8E=i#PKsD|s#?O@amuWC&}ZN$IA`vN=?o5HcWQwJKWGKQOnd@3Y01yDGCsl{jx`6Cr85=;WR@l9vggR{@!DI(^}9Cl{|hhx XPwQsWrxVmF00000NkvXXu0mjf;dWTs literal 0 HcmV?d00001 diff --git a/assets/img/logo-blue.png b/assets/img/logo-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc1cc43306de88859c9df084213d3fd4c82c9af1 GIT binary patch literal 6185 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 literal 0 HcmV?d00001 diff --git a/assets/img/logo-dark.png b/assets/img/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..852353ed989fea5a124608c0b8ced5b74b02077e GIT binary patch literal 3212 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 E02=K`SO5S3 literal 0 HcmV?d00001 diff --git a/assets/img/logo-dark2.png b/assets/img/logo-dark2.png new file mode 100644 index 0000000000000000000000000000000000000000..af19c63290dd6d6ad7588c6d08c89d5caa4367a2 GIT binary patch literal 6512 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 literal 0 HcmV?d00001 diff --git a/assets/img/logo.png b/assets/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7658b6ce464bb2a3d06a3647363a08af81c981f9 GIT binary patch literal 6358 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 literal 0 HcmV?d00001 diff --git a/assets/img/mobile-mockup.png b/assets/img/mobile-mockup.png new file mode 100644 index 0000000000000000000000000000000000000000..90c533f65415be10aa26c115fb50a5cc12f52478 GIT binary patch literal 5673 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 literal 0 HcmV?d00001 diff --git a/assets/img/mobile-slide-1.png b/assets/img/mobile-slide-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5765af57f720ca554ca89c0ca4649eff291931 GIT binary patch literal 7098 zcmeHMc{r47|5qvpWl5zI!U$!Vg|W=o%93njPlrK_!C)3Mld;64QY5?xCCkCF7NRU; zY>^}>MUBB!7>z(VGd+z7CzuWy?KF|G~C(I0`e}wB4 z7aJSf5ra#*7Hn+$5NvGwt$sQL+#z7hCxM@zsd`tamPA)7&54Xo!qb% zSSJ@h?%U7m${wn7S_#5P-*0oy2_cUIYr#R|E7- zE)tmU-G+d~zL8KpH9&tDb;ZO?OovFuiYbAW3KjeQ0Rh^`F0M!m-HYFK0aqFzcPf>Hgg|IC8knXCCX(GCFa!btfhs^0 z6yyO4d5Rx_>f|d=ph*0Xpo^to$T$)eM3fdPDI@;PQKX?rY6si*egZ-fw z2k8CItNL$wkve3o6O~A|A`-oRWPq7FkxHbv6G>t^I^QBLcGd<*a3Rtt=k`MM$BuQe zWSkGy0EOwn5Gt?>x)@K@+~oDITnCbkV@*f(Sl1;&5DCwD<+55aS#!fo+NOUqa3vwUaeef>jhh z@HrOz`o)WMGuz)^y?uWkXRZ8GezE9Qb&#ot)VWQ_+qFQNg z!-JnCHOQo+seW@`RwgzFD6N_4<{y|eqLsMY>;8j_rK&?iqC~e>{R6&_1&H`XWy$?{ z`H&%=SN(Io{XY{68~cf)v-DAXU}cqklh9)X#kFhqt_9{KgRk((r`dbHO!yFLaqXrz z2vMb>AG@gh5_4#}`+Vj0nW1VS;_fNp-9!Z0sc(JV*Up>O za~{)|(&Tcww}!rZt0T*#Un2#SQ1GQEm7ho#BHDeLMFrowbIlN$yz^LKZ34!|rYE}vF_DBnxZh^6H%^41O3H2!?QZDTrU^mo z+P0NbCN+OHr4p^xs92HMaCX5K+UBF$eOMEl+|ErkBr?UmCMd8m+DXj<9WH;tJZ%(2DH2?+fH+8YMWKJg(_j zFoPir_7>j1EEOBZb6Wi*IMm$@Dx>K7`xW81pf72x_a!B@6PjLS%6D|`^61^=73G2W z7xdxp^!u+4((1d;L7=#$uNkO3jFmFt4?|5 z7SoK?Qf&9x?qNzPaX1L={@P+q^Yy0y&a}rG0X}fI7Gd6dNM)zG+s_Sk!K>14%1vaY ztq{eT?u}B)M2ojTdC{?~w{vrIIoa8bx6&g^N=vJ?PBqAiMurb`=iAjssVAruVn(i9 zArcEkqIFo)cIwfs)gNziOG!OsrEBjqo`?uhoPEEM>hR3;)Vm`p18thW$0+rkJL3(@ z{*b&ZFYKNQ$Hj<5OQ$djxkzX1lK79C)zOv$@mfrI2 zAq+#d+WHzD(>Q5+_lelDv@zK&$@}69;&63hsy3PGcM|2u*~rl`MO8g)(b1uQC&<6C zOlYOPGxvmagjltx^ms{LC;N1{rIGDy_3L9h(XB~Se6kTvB+|3a$EXB#x4H5$k1fk# zILCdOg#UIPhJ0S5ku#>hdj38({dKBikXie%tQLm&H7!h7j0|Y{ zYY0uUXA2d+@n+v&!{3*`5&pIGefAgo_t`)3eyc&kf>N43dmS$)f#TOYK)N5Z;-dIfctMuWgp~; z6^@uFV9wnus9LdA+aH~=7@y6nzHt79dpk&tz1jK{#ZQLxko8RcV08VLV{$e{>IY+m zG z3KO}FEE@-b<+e2TKg$Owq;JLb_u=p5^{vpp)z?1_f9L;3{s(`gYpL&|v)aDs3~zaK zc^m3H%iY*00UQCK&dg7`k*_=2+xZ8{&GJ46K>DNWA33y6<~vj&ZJ%8YPJUV5;UQ=? z_a1(w*u{W4m6;Gd{s}y5sw2Cf^Lx=5RPAhhHmB3+)1PEiG9f^~KsyuYqz{ z#d5b@Ml+2zySDv zP78(+FL;(zFI4(1r4J1`tU}=oTt}9YD+@RT4l>V=f^GKwRSJJ*`Hg9h67HNk#!^eW zS_U0K@gQ<%QT<(B{lLJ$z1*TMe0(|CmZoE_{8(dUGuKKc5$dE3$G!i}eeY1wnQNI5 zAAdrPCmM6TzlKhK;ntdx7L|GXo=^X*bJZ|cuibK*6auab*vMS9U;GljCll!)z8m=DDj+J z5)l!pzr(K^d5??#Ln*$$O@Mpd^9g2T5YA#^(WFNNSBUgG!XE0<7kRaM`a)w0;SYmt^FS_^wQ ztMl{obu8`HDj0RJ3X(9dZe$*3T9Zbuikx}<0UO-NtBL{paUr!eU{w#(g@=xEknAH&Dk$9%yE zc@o0nibczhp~%6~qKS6u?`Tou^MXjJRW+tHiyY#n>3J?mEkPDt7&(4?c(>37PVVzs zQDT-b#zZFzm*WDLAUTgViy?`o>P=C31|gu;yg?Z{z)71Nr@ zwS~NPCTMCcdm6LIK5NUYM1*((kz=3W5^On4ylROXd6&18@M@%Za;(yvXSopAcGyAg z6W7Iwh(tv3k<)#VJIK{l)WffaRSwcZS_?axGD~s0oiz(9!RxJFcW|pdN9xoDCbXER_N&t72F&T( z3n=^b`I=Mlx!i(a^%13~@OQ_0em3={KN5Im9A*HHRcT1(tBi?7_bL;Iwrm#l1;2V& zh^vMS%^>8k!~UQ11yYWPykz&AoCo}jKK!xM()4(_RNOn)0GmRGK+|AOc{?%Zdd=s^ zfipC(#C`xyMDTdLqqiWukaTknzzMGENTo`B58s<&auB1c7I@`?mae=P2Y_26t2({f zACtEFD~EzMXPGTP-*%T9m=!P@vb{UBxEYuS~7&Q*Rt> zOR7^EtMe`<;l6IQg-GIk*{4aB;8##Dac3v)RNf8;)q|4i489#^TkhGB%E}Iu+U#v^ z*Z1m&4jl?w4l}*}DZHwx>XG)7xBHEHykc-*YgP?Knz2xXt-o_bFvV~Dkrro^K23iK z=`UlDiQ?gjbyT&NtQ1Lm5&>UUSZ)K*Fac~=I%6Z5Rqh;%ZtBgvcYFS}q-XCC;I7uj z=9n5v0$57=80>}cks_ln4u_o(r#_vC9PZjEp1yCo_~olUfOC%KS8<6H&s)yH^Jm`dWil#^vowg~5C|1Ek|>CsejDFM88rK<(iv^qqB`?9`x* z4-MghyEvIR51NX%mFl*Hv70zS+(rMEU{=|JU*o`=Yrs>jXRdm4PUv*NOi@bCS}tha zNfyqCyRP9GLpzHYxkzM;#oK#!KV`_oHhEpM*@rza7jgHr|KtWSXz4NY?i8x1Rx*Y4 zUXt)DD`LoZG{P*IR64sO7Mp7AxH7@VA z2a3i%1JK^5NZ;AY-pe5)TU*<4#^w!+jm=F*bdhsI1h3ZCLJI$Zg3jkT^(acc$o4z> z7x7(6I}pg#nw1Zp$q9}@>*oZdjMttq`OmrlUU~xH&RdB3?$#0q*8wmM)O;UGknsP- zrf3-AJA~d@nSN3j2LN?^7L)C^Q=l+BQ zwEf-)vfWn~!aZ-C-61mP;SL7=WamW}AWT&i}IMI^4D(_f*-QXa50;{jf+=QGdRguwQ zSJXt9TyorapD;c|?J%Lk+**>x7F{L|IJ-k18M{st*fXm)^NE3Yo@priVf(D2&pu|R!6@=tv$Hb?g!*6HUg zvu-cVj0g1At|_akt}#`;Y9^UzOWQ+?d(j$>s4eOhEQSB)wzp}KVySx&ex5| zCC%|irZtMLHeTr0fI^>TmX*e}fWF2M%H>Ly1S&cU+%?%?S- znJ-$2d2NwLmEDu3@_ViIxa1u(a@GQ#cEiaMVW`skB9kWhX_}w}IH>^~gcvvn%J8@# z32se1<@7ZMMQPY^lU1nOFTrD{Z0KWnDMmKz3}WSSG<_lty%SeqYmg=_%%#E4uUD@n z?$pFJin%AN^ir?>mE3Nig>0#MzANiq!&&Rsm*spw9HWZlG4xuoOml~aeu33w%mK)~ zm{bRl4^-LP2-zTc#I9?<&8*pj#Od_g-il2x*Y4Y=VJHU9HqXnuWKK3@67b*}52?|Q!Lndn;vI!vd}pQfRqVY+c$ z>oyI|F(n$B<0dERfGw9S;TwJdQpb^Fa1||*x?hZtu1#3|a^u2ehjf#ubGWJi=&akMhN+2?3n`O9W3Zef_@?BYpl- z6reIGKRYieFi2X;)ALBKU%P!Uw-Nua@gH~lnD~1kq;4a8P`+pf;5?j!e**)$`|k-I zZ3MVcHblDuhhpcUg>vxqL?AIYwA6%v6_BH=qp~zuQ5p<}$Vo$Fq!kpwU_~tr4Mi9P z4Azv9gTbz8{KoO0U?FlE+OiN?83j2xFc_?@a7{*5Nl{+znyi90OkPF<_8ayF(g$OQ zbU^&3>k82Q3l{v}!YXT`5q209+60C2_-z5VTu>O4j|<96P*d~Qi3^IEyCNM?Sf9&B zNAxd=wGe36dk9Au8s#bYOUKHt|A7Z-ur^o;0=}jNlatm~0E0C&z%q&&+M2Rjatd-X z3R*&c!8-oG=uHY>M(W5w{>@;1e*&!VX!^JL122C&5CRE!4H|HdW|9exhK7gxhSoI` zzoCUuhQ~I(nG-8MD$53K>EX}lxwy(26`7;B!hE^7&go}}bCu>;q$D$1oilaJhrf6v zpYl34w-)rA_OkED(A^ibjCPzwOh!%T?`aokIBT*-a`7F%bRm=eMq3VB(wE?^y&;3m z>1k-!Vjv1TPRKUwFId7L@##KksKdjVRNXnuL}S>iYv=Mhaw)5=6!bNG1`gz$-w}&R zeGJMx^~Gb9vg(9i(8mGKoA^C2bumbIVvOHD0v{x3b8y9` zYh~@k$2)&4XYb+!@;gEjRYt2ZH5Y8mUUkS*WLmlz%im5?R{JnJckp}CHU{NBWcwk1 zYy8O2Aym3_VPSF6CYaooh|*7!b496WBhmPgRFFg;A}O1eYlS(lqdstJsXp+>hlq!L zP_m92nY0!nXG6#W`FLPmRICF70+89z;N77=&B!`8$p>OK2T+^h%FGw_Q)@f<@q8+q z?cd9s4+$mYxq9EWLww0?dNCvv=m^=I{p}7^FswguIv%M(+#b=#Y1Ir#UI5jZU;~jH3;C!uW>k zI+)=!KKwCl5EDG(3snza_i_3-9T&c{VSf>IxVPFNH9jg(nHOF>-If~`^CTeqCT?p; z?`r0Yz@>uxEIjgiDPr`5T?a%4BY%XV4r;JOl}M*|3D3&P(#bQ-K6wAK2mTS}TLA-s zx_4F5Pq@5tXpP@*wJdWQHD|Ah3(yQAZ)ED&lxZ#Xtar*3 z3UD!s8f0uAd`^{Bw>(pg*T5B?t=8>@9A+?n&@QLh4^Z$NT3;f@aH5u2;3&1eZ*JHN zHO3S7uPMv{I2-C4)M^e4rcS5mm3?_5TyqfY-JmPOA9lj!`J^FqhpgR^A~|g2B!~0Y zGIzbWbt8;6vTabJxSHgkEnI!9Q``pu^JZ-*qR0&3=^`~ysO1#bzP$RvyB8tP_kE^d z=w(jDyJEf=%$1;}ni-HJIIYmN0bbKK>cT;*>A5sg193bFM+zoVpZ7B`R;*06+V+hX z#D~RCcPYN}0$lA`9zL9bi`n?wcjG+09cuReg0s$(Pn`2JZrtrQuKmY9Y9T4Txj50> zZXC}~XpL@>`CR|-FwfS>7#<-j?yrbda(ifo33U6G_nb1mx%HsgjgQ+PLou;#D-_GUaXR2Vc&ZWIzA8)-CB*lsc1Q(HY`utO~=R->@w@*k!8^^))XXn)7 z7InpLH&4%6>@vSX7|%`cn~^G%E&AugHFb7LkM-Fe&WpbA9WN{LoxsJ4?c|xwX~`>_ z5q!{~!AD|(=psqJM8n$kUfotFu6B{!)il>yg+QdZ>%%lS}&Nt>tb@a8$ti+rToPv($!-h#_p3^sWOYj?^x% zZhs=0VE8E;dfQuIbk>dI)kgF6rMk5)U1mOIx!L^385#U76p8nt?{ad4?>%6gqX-8# z)c2L}%-fN)o;*nu9F2E~u`;F5&y^eN!mNXZjrR4DBi21bQoIJMA}#~jTZCOzlSqQg*0cBXcB3;Lee(9 zD2R>}k%ue-m60zxf!KK2vi9C$TMXRX99P6}@gXzc`P9DtvM%M0Zzm$_PHeUx6HaS8 zCPWXA`g^$FW_jWly?=&(U;ef6pQYckzrlYaiuxDRzt^L9{|^cM|B_CwrgM36+$xbM zsgtpMclTPUOV3M!x?zSQ*q=H)KDKoLEF@vD*sb~oASOG`e=BO23Rz*0U`llGtKFGS zf3nqZxZhqozQ5%7A^a4=7Aq4(6!PnaQawsT_IJs-xI3j9tV)q%3*XD0SflFYElVA5 z5Z@tKS7H!5t5fZfOgu?C{Qeg$tB{$=v29>E!p{gPxr@kLIJ#XVxZ|Pv-Vd_7Ej2BX zk7=rrmVWyC!Lf-5mLxLSkF)AuhLklfKtDAUwR^H zXh2xYTpm0b#oM`3U>Gc3vsgLowhQr={?V2w+@2z7ofN^qc_}k96TzZt;al`Sq|ir_EEiZ@;Oj?G{lg#Jh2(TzhtNY1F!} z!MmIzG3SEWTMMHN`S&cvV^8ii9Bh;ftnUuuIP**Iw;AEK>SokZ^Af!8zT{_Zx6<)} zjCeg@3U32@c{g5|@9AaDD7t1e9zHIt1;;nd}Z(6*(mb5*zL6LUb`+8W_+y&A0H zEgZ%j)lUl(u_vNypML$&DaU;hd*KHoYpDfkq=o@h{oECMtYAvavxvG3kQ0x;&rB9` zIak4dIqu=ueTulG!wQKgUk}ZiJ0YagQN20j?wIHag#SzwXKbHhAyl-8I(ImU@dGoBjt~xsmAaWx#fg?82SB^VvCRssm>p zYy*G8L7gK--#tQz3ZA!4MW(YG9#~blnfCEV(F(ObJ^@;~RBBIrl&5xv{*CuUSX%R_ zRw*4Q{yE69RBHlo8sFob-PUcZL6Oxza;Z%h(B)6xhWY#fNHo>VUST!Cdrh0{^1ab? zn4U8%M&(fX&re>HM@|?`IR3B=EJP%3_7^*z0fb0l*SX!Wnp|QMoY@E-`7Ww+W2O8p z;4CIV`n=knP7^}qD?w3RU0nqAhSg6J?R?k~yGcRxS9SfOO?V_dzu$98ezevEsD_+m z917i$=6&%IlZ-bBgw7p>ha)ecjJE=1TlcmF7F+epo^^4cqV4U*>cJ3c*lnt{`3iAVI6wg?RFwjxQr#_=L3#I z=<#ar$rggoWF>OcYGbW_n-n9jZ`iH21vfU)il43lY)ZBsl+|qN+HB56gw4;*mA-f# z9gNQCJ)QGa|4VuQBPmbFnd5hr@t21GsWN`g{=d~D@=BQ5 z#}y2W{tPh4JX?3Ftf*4Z_B%;NPh{__8^W?^_krRH->^g#n-jl^uwTPJ!IB(0?G8N>Zx5Kb2;pP$6?KtPm* z1-(lK8P8(R%YS;LN#+`h=T%Bt7;k7;_7q{Qn`}+klJwSj6m_Q=IaKc29)61LEfCRv zh``)|QrloGXsz?uJ~ir2?4Et}U}o^<_x8c}4n-DeAG*%Em7>N8M@iq5mXrF!KHA8- zqUUZ90W#+I@e}cS{0lbvv-g%pzC(7!5qsM!?Uv4&{ScX$eN=>ZOrrHde#~=s=*_SKRNOAvatuv+;k%?f@t(L3hq5I z-IY1~jx9(hfqxX@7SnAlw%J1rQ3XQwB@JW0+bBIFhd%~fyzPI!wJbAWa1I)M_UX^I z9(Hi>l`$4b@a}q^%}b7BnSjf?3dH2s6J5>%;z>YJlA8%cXt~p)5~ICs<(Y0)d~Iz) z3@;O#j!KMF|M|Dh&gTS*;(Fjeo~CZD54o2xZC~i((^elDH4|m6{_w6jnn0wdOB1m_ z&$*h-KGT`3te&vB3UvB%m(W02K7{hU&70g5ay(#VfK7=%c)f?~K9kG!P%AR1?&pW7 z5%0qCdg7?YY2tOHG)Fx7&j&1vl6;-Zg)`&0Ap;FgT8Od0-X!3CoMnROtVnk z`}wiK&4qkU(yDwkq-N7BNMe;l%i3wSw=r_QJ~&sML248`9-IpbY*+PM6qB{FKy6f( zkc?q;RMiSn31l$;opcbds^8CS@winw-kPPQB>~I&#lr2m$m)jSyZV-sn>SZB#Dmq# z6FBeq{fG`w*J*Dng4e8u<{N(l6;`Ve+p8mtn@^5}(bCgRxpUHkVBVYU75VEkOZ_}R zi@S3+r;@a_mJIV15#HLKOxVh6FcK(F8#Z6z(;@A=>4aW}6nhNTVo}892b=GmyR#nZ z>KU$8=$UrFKp0=&{jGKV64TKvQl(CW=v0d2b8!pk-t!97YOklYJE#=NBB3(w* z+lO25R!6gmo`zHBcG?X?(4naXZUwq{ZvTzz!OF{AH zkEv1@%H|LDR$dj8W=dM*e4G9};SB$Hb2ygtEib3~@Yb1kW2c2{#$FnYa5ohyCdD9t z?00xMcs}xur}&@7b9UX}Vll<%ETHxll}ope;!Ocg;%+^Am-2Kt|~0ge5QH5wAVM!`$wpj zWC~-p@Vu4P};iL>ePu!U09mu}#>81)fAC5k<}?q+T~AKnT*9d+z2vC~ z*qE~v*q_x2O^aL#NKpfy3>LRn&b(5(wiT_o}7&EW`2Hu?}f+qHT z+vXTq*SY zBbHt~IYEuf!iZP@KESpujC%Xo??o!_zT@Jy9Ml>d?L|n}FT~ComJ8Km+ zwDW%2e zP}|kI8WIAy77JAiJ=i-;>X;gV9-r+S9uD*Z4llcg^hhF0j4dxHwL00_?R=+cpj<%B z3&(b;y)G$i@Evv&aKNKTeVV0cDrxOL1$1APoiV5iDw)~cXf1ZUHfU$HkcX>!?S?51js0cYTFYJrjSfFuIpy5>^Q?Www0!RKF)M#+7dLq z(5DE%7w_c<7h|5)-Ua%~P-UO#&!Ms*d)sTU1b#IsrtzM$v>t$B1aA~t`ixgHkAvMfhi~K2~IHhgslNM;;)iR%p-eBp$E-E;Yxr^4Is0q-+h0#2^>sB^PjH`LU|?X?(o{2G zU^s+eU^smD7!&XYWqW5D_;&$!^B&F+?SS*K#@aL7utVF}3uw7pJK7uATif|z8tfGq z7#Llg@7}}R)445gi*}c=K7f(%b@u?U85k6leLbvgUF~rKHujFrC`HiHrz((uvz;Oc zDXjz3@ldsQa@O?6+8g@o-nI32wME#0l$8V&eB}WG?)Erq0bh4Fl&8F}BIp-gd0>6; z8VVBl1%h)`1pPy(dpi08s%WgefV70PxGhW)E+C7LfJ;lu%1Vj}NW$P!P#7EvzbXz# z$V*Ad!(ak`{eb{(SUU%K12y%(cmbajK~6ZFhddPOuXKzIK=qXR%d z8hJgeGjJ)^Zfa;-FL!$sPD@P@1nfxIIorv@;BqiHTviGuD+!a4gTv+2R8-{DW#MpD zNhx*p8!EqP{5xFPn^#pNrPU;5q@>_*_)VD`Fm+i3Oifx&6(OspepB@~t`^D@XN|J8 z|IODK;QJRY{J+JOSH;>}k9GF8w^PTW-35N>Sl;>H$N+=igd=3(H`LUnU^ivpa1|A}q@2o4)vIb!GE$N< zYM{Sx?fxfvg95@p4-Di#8O-ljfE6Ar|7rffhkrVdJqqv|EZ`np+$Yi)7wpK3sNF4SKK94;47k{NYIw%ONkK2bxWbk)((r?#ahIU znMFT;a)5*X&gwgVmqaZ`f8UIeR65$>JZaT@$Gb`ws6&3Q{5YA7`!t&izDxcqY0xO-pk=1q_WSRV`DRgFq za|Zh{6Uwy=@}-jregYOHk<=Hp*-drdCvtEIWsBOK=fQ7^Wi9Xt63Vxe=}#nfO%Yi5 zLb;FyaggqMANQlTr)P5^BO_z!c8ZkqoMx1{Sx6Oa99IUn=ziVgb(lG;yWQR0oi5F4 zzE_3c@6I!e*JOOkbA0GtmO6IXi*8G%rb!gJ6Pyrp0RaJ3Qto{pCywS#^NV+MDQhRw z6C_yN9G%?v_xG#%iX2;qT2iFvCJYK(YiDL(;!MCE*YRhcGzHmxet29D=i@_oFW^@8 zBCW9-f<3blKe(t#`^e8W{6NIEHm1y{zr9A37UdB5kQ!^|0{?lCd zcXkLe?tQo)d)up@#z>(ADG)fBX_0Rx+)9Yh$Ikpn5ZCJM<+b0{Ae^~p8d=??=p7Pg z&RuHT!Cs}6TqeV#Z$E9Rse$9y(!lX>^O0{XBxy5pPJP;su09mPZ83orZUzLesk<29 z)=jH1CR$$omI5$98SIQy;{398j&`0RZ!ZN-T|65P#Q?mH>l(Cnl2A4@;t#p;C_pdR;c6M|W*=@}KpjUi#A`(7il^r@z%)@a#l9Kl>=Fb;9ySqLL z+v7=u%KJ5cAUBxv^3{fOPFOr;WT#*8sMfEaz-pv<_c_x)ROyuc5w9g#-=W>d#6?L@ zz?Xi@VGe8TEwJTO+?mc=WjT!O2;F0h9VhC94NDwiI9i+LI~r*v8e#UX*M8B!Ec6cb zxH_iVgG&}gtxJYl;crJ)8}X5Efy=6NBr|Ld>o2vWd$u5umnZa2wTK}d&T=lBWlDIy zcfBvSw!WU1D(^Kr(~ueW;k<-Vy0HQ3^5&&r#xO%Ov;K16R_4E{>mZ@UQNbfJjxA~N z_Q%Xou!K+bvq!`FA09u`GBotAq$X~XEt;B&uDsB3mvogm%pxFQH=uH(IA15%UJB`Q z*@tMv5_767l!dcWStO{E`sZdtx^sm=Ze?YqU2BFSMpX?Gl5#skVf*8&m74GE}v8Wd0~2 z8SnYtGY~c6PpcN1SVz|uOPyI>v-|2~Gg!#ui-`J@fq{XBjfMVweW`+tjg6#4ZepO^ zWo&-sj>}%s)W)Qa*hc6AwX7rRiU77*oG(F7arN8PI(x1L!Pkd-jitmCzKgok+F80A zoK_?C0&V&j47=U3AHAZ?f0R!(n|I<@#+RSFBfu8eMitUYks><1G8T0K%&2Y}=GrZ$ zac(nJ4r3$f-X{fl*`Sl5;HP3hTT6)Ao$h1K5oi`x$JX%^0t;>H;w~wNj#sb2bgd%y zLx6}7&5+T#vz#%GSUjgx; zT^)FzQ5nVCMh-rMsK%YUKF*-tD`hm!07ft*FrGp@NMW620)d#h8V*J9KB)iw5WpHA z62LNmm|-hY^CRDrt?+(@o>RK6T&C1lT1kl$P08_<^=T-u|`vm;H!;r6GX*TfpC||0nWW6Mt*(e@7=D zBfN7Tn2MX1!Vnw1wn;yV9H$7%=)v+=Sy|wjnHeo0GbYoiaeUVjr!oR0Oo|+I3Y|NI zAgl?tM9t5e9pg$s^pnBJ)p)If>?ZELJywktR32?S~SB7zqz zjEd%j>b6{4Do?3wS)1udVu6;!s>DnRFPE*hTubUlR}Gwab7?-w_Ii;+^R3F&^rg!_ zLqR^x!H{$1uEa7S<(z0|XaujSOZ&^44MCd&$j#CxQ3E=%1CPxK`|HN?pt`oLc}L~c z!0je0T_N2xIlCplANI);8nFUcDFqLB?E6|Eon$KP{ru8Uu{oHku>AGR_7J;z3^%%R z+kq#T>@ggia+vc{^jk_z$SuP`J^V^i1E!8Ic{?B?*53h(M54~|l3;0TLRd?B%N zXEsNLlNmg^^q~F@>5lokBp>agi?UVQ&3_Jp<1%U+s!hc2eW(t*G5$6_mq>Q0?%CVv zsk(?8Rx$r>)O-x4?pdJ6t`?V4u@tnF+vLhrXhVt0u_R1BckGjk;4O~6WB9bE)8Aet zW>Utj_tEycaGJ*-u_5($QaxK0NknjEaQWU!({rn9K8xl&#}cw+pyfY5KdQ8nCYf%BbjgIYsC4BOXSFUkh&UOV;Km%t4Z%7Gl=KCQHPj-c$*H`9? zTD$iwlZ5q3K64<#jK4y3*Tgx=$IPkYg%{bVqKeV)JDjdij_&Y+bk{1z6SWf|#8MDq z=2g;4W^~Buc%>aD9pOWqxsxfK>vKK*un6AuGt8GzWfM=sD(irXCT+VoUSTC7_Kz9S zW-u|K89TasXkD%?xW495WcY~PIUn(Nb-`?EY+-I^kC&EwS3{R zqo)ul>I#1f&55_!rpz{20K1oTIZY}9{U)7Vs4vup-*RR@YHKT{EHsU6vzb5(<2lmI zGQilFW0-(9EE1)|A6k99y(gCr$r5OL->e`+m(tzEPds@1MG*6IMxVJnQul<6CZ>Sq z)nhRwzzC|V=Kz;#~&Vb(Ce-g_kQv&B>=1(EQ2B3uPrkspYBb|90J5FIXq~|rED|NxlOoEHz zoa|XjbMK4T@F<{k+YV^cc`hkP-}R}OvuJ47;7=!zkIu6I#m&Zxy%_jGj`bc!DnxM$ zp(1N=@m#5W(|Mkg3E)q1H8LQXN4|I$u=h?~&{U4KRAl{~CkCy$;)1AvyS_=^{3Cf> zjkEf)3L<#LQG?}vUv_BO8U8Lt`Gn~g;cilDar5%>@?i@VdWea~QM-quDI8YpFVx51 z-jcqyGPf@)f@_*&^%AO&tFTF;2@3xn z#j-tiWg$4oAw504;kaT{Wz$vesBL;{k`?q z>RgFQES?@_(QcE|G-(0^9InmXiT2eLU--j;$H#^FYUNKJ2`#^Y>Tn7s`N& zx1U@+olZRb@9M1BF4VcUV?jYdbh_1d8TwNYR;qwBgunKq*cDkAu(^29Ks8hb?IzM_ zv=Bl@(?nu{ZJp3qUA!I;6cSrnTI>KXG3EslLw83EzUtU=yEc}`k@EeN_f!2Ri;If~ zF^`c+V&e9xYD+395mB?|yH>7{&qQhp1x}8-1?Zj4YHlx1T3giP*dja^=W-7FT;Z zU-{Ihg?lYwgAgAdNAKQt7CO%Mnp^v*HZ8jNi)mUQg89a~EI4a#$SsSr3l?cj=BT7Ki$#j*7&~Bx${v$xB`Bl|$xE$%+zQFdBzVn zSZCNHsX!IOo6zt2q@<+OO!Ea-1MBP03FaO@UlhO2+FmrJ;ok*ep=Nm?6z$Hi{!awvO0>kx1HY$?dgj`-?R)Ac-bB`)SB0BhTJLoIsg5&wzkDaqF-O1 zu><)-cZ=P|RglOY<=6Z>?`ONuk`zT1L}Yd6oYr*2qL);7!Ey<%Iy1MiLwbar zj!(>7uh$*7&52+0J$J`?p3-vtHFiS0pBoLPj9Q{FKEo=Qv2VT)bSfxca-y@pV$9ZR z6t09%l7e~vM@x!B3YTN+BQ8Ak5kP*f38Mk{lnC=MpW;Ikq=ofjP?Yk=y=TVr~^YCuV+kk@mnBzr8hkl z-!+ZoFeOAru=?70{h2_mX{Q2lCqG>dGdk3NBoCt77PL^@bIY=hyHzum@d&))JucnZ ze2f21^h6$MP=3A@?8YG{OfMlKE&V2T4D}S(0|Z|h%SFvW;EC6Mro58#w-r@e8V-&C zhO$HHfOv#-8iO9`f~g_ZP+}vAlGh%s%4yi=%iuMiAI(*Jnj>0Ji9f4C?x-M}#MdS5 z^r+KQ6MO;l1>pm*r0xQrr9sCQrQLZbFaavc?|fhQwX;~c$w>k^xfu#B+mf4%6wdIa zm;0^aIh5mNH0I0a;^-10p#xI@jfH^aFdo#_ zSHP$X6h#O*nwZ{Ou~bpZ)|83kg5ec2Q_A#haR`!F{whCz$td*%m)fx9&Z1A%uI$j> zq%4W8Egc)&q>$*E`;+P1&{`CP=(`@we6h5YMDj`3VX`X*t}Po4G zu!y?WWwn4S_H8uXDhui830SJ|*-b-u8m9r#Vk-8+Rfm#h=DP>kHXNAz%|a?SE0)}I zK^{-yUb4xh@Hj1@mutdDTLpn8b=Gg0!kKL4QFBxyp6}X*q6}ESvBbUqsYT#2g+TIO zpC#QoLiAAUM%q(z$nSHhnaK)hqOaf1OtvzfimBVTl}Ps7JtmN!pO4<{D|W5&Z9z;? zt%Ppx+m9Nf-nmH0wgrb{RT~n~dj}`Z0OlI_%jur4$ z-VP|x^2oge{M>DK0ZrKDp9Eai0+{QHrE;5U14DCH!rmA^eT0#JtC~)PdE|JXm3>=p zuNeC3E~W{u3M8o6Yx`>*OC~@E;|EMaN$Z=NONBqI*R<(YLj``TlV z%9V~C7mb}}iy3T;onOhMHzF$~S95ZSJ9-`2dR3BqKM=uO>d%3RZ!?hiw?{~o>v{b6 z-Tt9LVhjQ5t*nG*b^(7T5Cg0xu?VDt z>S|oy#+#xNtMaw)+Vs8Wt$~wP-GI@1hd#ew_G9>ZFl6tUlsxveO3zd4yUCC^3o&5k zlaUy=NZSYUwU@4jhDMsBY+XESj9W!T1vJ|_;1y6zjJ(!Prp?wV(=cUbsz~k%BW}ui z^6`N`56eEQf09~ae8Pfwd!B9EbOz?L$gI3oqnrsO_)kK&pLqlV)9wQ2tv9ba`r~k4 zd!FOd6zZ2a>*eI4I}~mB{dWq4S^K&x0yc^LWu8-HAOm`_E3UP5^jHSCzt%=TEbbGA zdx9>2ksUw-0ZtagnShXsYGeLE@ztju7JQy6j2YhHxlju0-5of2(-#XK4qzxeD%7+l zr9Iww6xHTZ_6|w>MsOnPLT>fmUjx)XVDzeUO%l`2NKDKf^Vb~alGndQWhR-DW}Lxbq=b6e4Y3IuVJu7%Ec=YdO2*E= zZ@S(H_^M-AP-~+@`zu?RFv>&&WAdf@L$$R0*(d5=TD7GY8fxleEZzlqn%KzNVR&-x zKjsNCin2@`8S~g9U5CU|nYbyeQbFRJq%bDbl`oG3y}N34I`3~~=bB{6j$?R;`s0$i z&Pg#~xfdZL7rNFRPY!;dxR-+AZS`VJN^-#=31`T`pJf0@trzuOKN0uG)zQ75WfH%P yybN?|sg8a7LE22}A!~}PF9QQildkvR5X0mapNS*cHuvDC0$Mk9)rczh|M(AI_-+6I literal 0 HcmV?d00001 diff --git a/assets/img/mobile-slide-4.png b/assets/img/mobile-slide-4.png new file mode 100644 index 0000000000000000000000000000000000000000..cc13af29e2a17150804bc2b9a64a4abd4f77e1b9 GIT binary patch literal 7430 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 literal 0 HcmV?d00001 diff --git a/assets/img/mobile-slide-5.png b/assets/img/mobile-slide-5.png new file mode 100644 index 0000000000000000000000000000000000000000..7c6802bde1a726b359906bb309368348ebf7a070 GIT binary patch literal 7933 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 DBEO}! literal 0 HcmV?d00001 diff --git a/assets/img/mobile-slide-6.png b/assets/img/mobile-slide-6.png new file mode 100644 index 0000000000000000000000000000000000000000..f007e1f1ddd4d7b5086a0ac017db33ec814e25ec GIT binary patch literal 8369 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 literal 0 HcmV?d00001 diff --git a/assets/img/paper.png b/assets/img/paper.png new file mode 100644 index 0000000000000000000000000000000000000000..74acb8d8173b923fef1387071cee801c6d10a8a0 GIT binary patch literal 186207 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Ľ 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

    xZmwK`zPRdr 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 literal 0 HcmV?d00001 diff --git a/assets/img/tab-slide-2.png b/assets/img/tab-slide-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa8e809a618f95c674c0ee2b7e2906d5b2f5f81 GIT binary patch literal 8069 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 literal 0 HcmV?d00001 diff --git a/assets/img/tab-slide-3.png b/assets/img/tab-slide-3.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc600d48a2ec6d66eca63c501b260c3805e57a8 GIT binary patch literal 8533 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 VCG{6s{raQB9bKcFr4Wbk{{a4J`yBuP literal 0 HcmV?d00001 diff --git a/assets/img/tab-slide-4.png b/assets/img/tab-slide-4.png new file mode 100644 index 0000000000000000000000000000000000000000..e18a3ba87388165d36728406617305723df14ce7 GIT binary patch literal 7562 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 literal 0 HcmV?d00001 diff --git a/assets/img/tic.png b/assets/img/tic.png new file mode 100644 index 0000000000000000000000000000000000000000..aedf675f2cc8e0f05061e39c9ea0d978e89d55c9 GIT binary patch literal 1111 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 YYjBl))HvkG>Ytm%F)K{2iCg%;0FlOj;s5{u literal 0 HcmV?d00001 diff --git a/assets/js/bootstrap.min.js b/assets/js/bootstrap.min.js new file mode 100644 index 0000000..e79c065 --- /dev/null +++ b/assets/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth

    ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/assets/js/html5shiv-printshiv.js b/assets/js/html5shiv-printshiv.js new file mode 100644 index 0000000..085708e --- /dev/null +++ b/assets/js/html5shiv-printshiv.js @@ -0,0 +1,524 @@ +/** +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +;(function(window, document) { +/*jshint evil:true */ + /** version */ + var version = '3.7.3'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = ''; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Extends the built-in list of html5 elements + * @memberOf html5 + * @param {String|Array} newElements whitespace separated list or array of new element names to shiv + * @param {Document} ownerDocument The context document. + */ + function addElements(newElements, ownerDocument) { + var elements = html5.elements; + if(typeof elements != 'string'){ + elements = elements.join(' '); + } + if(typeof newElements != 'string'){ + newElements = newElements.join(' '); + } + html5.elements = elements +' '+ newElements; + shivDocument(ownerDocument); + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i+~])(' + getElements().join('|') + ')(?=[[\\s,>+~#.:]|$)', 'gi'), + replacement = '$1' + shivNamespace + '\\:$2'; + + while (index--) { + pair = parts[index] = parts[index].split('}'); + pair[pair.length - 1] = pair[pair.length - 1].replace(reElements, replacement); + parts[index] = pair.join('}'); + } + return parts.join('{'); + } + + /** + * Removes the given wrappers, leaving the original elements. + * @private + * @params {Array} wrappers An array of printable wrappers. + */ + function removeWrappers(wrappers) { + var index = wrappers.length; + while (index--) { + wrappers[index].removeNode(); + } + } + + /*--------------------------------------------------------------------------*/ + + /** + * Shivs the given document for print. + * @memberOf html5 + * @param {Document} ownerDocument The document to shiv. + * @returns {Document} The shived document. + */ + function shivPrint(ownerDocument) { + var shivedSheet, + wrappers, + data = getExpandoData(ownerDocument), + namespaces = ownerDocument.namespaces, + ownerWindow = ownerDocument.parentWindow; + + if (!supportsShivableSheets || ownerDocument.printShived) { + return ownerDocument; + } + if (typeof namespaces[shivNamespace] == 'undefined') { + namespaces.add(shivNamespace); + } + + function removeSheet() { + clearTimeout(data._removeSheetTimer); + if (shivedSheet) { + shivedSheet.removeNode(true); + } + shivedSheet= null; + } + + ownerWindow.attachEvent('onbeforeprint', function() { + + removeSheet(); + + var imports, + length, + sheet, + collection = ownerDocument.styleSheets, + cssText = [], + index = collection.length, + sheets = Array(index); + + // convert styleSheets collection to an array + while (index--) { + sheets[index] = collection[index]; + } + // concat all style sheet CSS text + while ((sheet = sheets.pop())) { + // IE does not enforce a same origin policy for external style sheets... + // but has trouble with some dynamically created stylesheets + if (!sheet.disabled && reMedia.test(sheet.media)) { + + try { + imports = sheet.imports; + length = imports.length; + } catch(er){ + length = 0; + } + + for (index = 0; index < length; index++) { + sheets.push(imports[index]); + } + + try { + cssText.push(sheet.cssText); + } catch(er){} + } + } + + // wrap all HTML5 elements with printable elements and add the shived style sheet + cssText = shivCssText(cssText.reverse().join('')); + wrappers = addWrappers(ownerDocument); + shivedSheet = addStyleSheet(ownerDocument, cssText); + + }); + + ownerWindow.attachEvent('onafterprint', function() { + // remove wrappers, leaving the original elements, and remove the shived style sheet + removeWrappers(wrappers); + clearTimeout(data._removeSheetTimer); + data._removeSheetTimer = setTimeout(removeSheet, 500); + }); + + ownerDocument.printShived = true; + return ownerDocument; + } + + /*--------------------------------------------------------------------------*/ + + // expose API + html5.type += ' print'; + html5.shivPrint = shivPrint; + + // shiv for print + shivPrint(document); + + if(typeof module == 'object' && module.exports){ + module.exports = html5; + } + +}(typeof window !== "undefined" ? window : this, document)); diff --git a/assets/js/html5shiv.js b/assets/js/html5shiv.js new file mode 100644 index 0000000..45ea723 --- /dev/null +++ b/assets/js/html5shiv.js @@ -0,0 +1,326 @@ +/** +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +;(function(window, document) { +/*jshint evil:true */ + /** version */ + var version = '3.7.3'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = ''; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Extends the built-in list of html5 elements + * @memberOf html5 + * @param {String|Array} newElements whitespace separated list or array of new element names to shiv + * @param {Document} ownerDocument The context document. + */ + function addElements(newElements, ownerDocument) { + var elements = html5.elements; + if(typeof elements != 'string'){ + elements = elements.join(' '); + } + if(typeof newElements != 'string'){ + newElements = newElements.join(' '); + } + html5.elements = elements +' '+ newElements; + shivDocument(ownerDocument); + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document|DocumentFragment} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;ia?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
    a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/\s*$/g,ra={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:k.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?""!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("':"vimeo"===f.type?c='':"vzaar"===f.type&&(c=''),a('
    '+c+"
    ").insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document), +function(a,b,c,d){var e=function(b){this._core=b,this._timeout=null,this._paused=!1,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._core.settings.autoplay&&this._setAutoPlayInterval()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype.play=function(a,b){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._setAutoPlayInterval())},e.prototype._getNextTimeout=function(d,e){return this._timeout&&b.clearTimeout(this._timeout),b.setTimeout(a.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},this),d||this._core.settings.autoplayTimeout)},e.prototype._setAutoPlayInterval=function(){this._timeout=this._getNextTimeout()},e.prototype.stop=function(){this._core.is("rotating")&&(b.clearTimeout(this._timeout),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('
    '+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"
    ")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("
    ").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a("
    ").addClass(c.dotClass).append(a("")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("
    ").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;e>a;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):0>b&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){return g[b]!==d?(e=c?b:!0,!1):void 0}),e}function f(a){return e(a,!0)}var g=a("").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document); \ No newline at end of file diff --git a/assets/js/theme.js b/assets/js/theme.js new file mode 100644 index 0000000..deab189 --- /dev/null +++ b/assets/js/theme.js @@ -0,0 +1,195 @@ +/* +========================================================= +- Table of Contents +========================================================= +- On Window Load + - Preloader +- On Dom Element Load + - Bootstrap Essentail + - Wow Js Init + - Adjust Header Menu On Scroll Down + - Smooth Scrolling Effect + - Hero Parallax (Default Home) + - Typed Js + - Hero Mockup Slider + - Dark Hero Mockup Slider + - Hero Tab Slider + - Tab Slider + - Tab Pricing Table +========================================================= +*/ +// On Window Load +$(window).load(function() { + "use strict"; + // Preloader + $('.preloader-area').fadeOut(); + $('.preloader-area').delay(350).fadeOut('slow'); + $('body').delay(550); +}); + +// On Dom Load +(function($) { + "use strict"; + // Bootstrap Essentail + $(".embed-responsive iframe").addClass("embed-responsive-item"); + $(".carousel-inner .item:first-child").addClass("active"); + $('[data-toggle="tooltip"]').tooltip(); + + // Wow js init + var wow = new WOW({ + boxClass: 'wow', // animated element css class (default is wow) + animateClass: 'animated', // animation css class (default is animated) + offset: 0, // distance to the element when triggering the animation (default is 0) + mobile: true, // trigger animations on mobile devices (default is true) + live: true, // act on asynchronously loaded content (default is true) + callback: function(box) { + // the callback is fired every time an animation is started + // the argument that is passed in is the DOM node being animated + }, + scrollContainer: null // optional scroll container selector, otherwise use window + }); + wow.init(); + + // Adjust Header Menu On Scroll Down + $(window).scroll(function() { + var wScroll = $(this).scrollTop(); + var wh = $(window).height(); + if (wScroll > 200) { + $(".navbar-default").addClass('navbar-dark'); + // $(".scroll-vertical-menu ").css('position','fixed'); + $(".nav-scroll").addClass('navbar-fixed-top'); + } else { + $(".navbar-default").removeClass('navbar-dark'); + $(".nav-scroll").removeClass('navbar-fixed-top'); + } + + heroParallax(); + }); + + // Hide Menu on clike (For Mobile Devices) + $('.navbar-nav li a').on('click', function() { + $('.navbar-collapse').removeClass('collapse in').addClass('collapse'); + }); + + // Smooth Scrolling Effect + $('.smoothscroll').on('click', function(e) { + e.preventDefault(); + var target = this.hash; + var navHeight = $('.navbar-default').height(); + + $('html, body').stop().animate({ + 'scrollTop': $(target).offset().top - navHeight + }, 1200); + }); + + // Hero Parallax + function heroParallax() { + var scrollPosition = $(window).scrollTop(); + $('.ball').css('left', (-30 - (scrollPosition * .6)) + 'px'); + $('.plant').css('right', (70 - (scrollPosition * .6)) + 'px'); + $('.paper').css('bottom', (-65 - (scrollPosition * .6)) + 'px'); + $('.coffee').css('left', (-190 - (scrollPosition * .6)) + 'px'); + $('.mockup-slider').css('bottom', (200 - (scrollPosition * .6)) + 'px'); + } + + // Typed Js + $(".lead").typed({ + strings: ["", "Protection"], + typeSpeed: 100, + }); + $(".lead-text").typed({ + strings: ["", "For All that You drive or Drives you"], + typeSpeed: 100, + startDelay: 1200 + }); + + // Hero Mockup Slider + function mockup_carousel() { + var owl = $("#mockup-slide"); + owl.owlCarousel({ + loop: true, + margin: 10, + responsiveClass: true, + navigation: true, + items: 1, + animateOut: 'fadeOut', + addClassActive: true, + dots: false, + autoplay: true, + autoplayTimeout: 5000, + mouseDrag: true, + touchDrag: true, + pullDrag: true, + responsive: {} + }); + } + mockup_carousel(); + + // Dark Hero Mockup Slider + function dark_mockup_carousel() { + var owl = $("#dark-mockup-slide"); + owl.owlCarousel({ + loop: true, + margin: 10, + responsiveClass: true, + navigation: true, + items: 1, + animateIn: 'slideInDown', + animateOut: 'slideOutRight', + addClassActive: true, + dots: true, + autoplay: true, + autoplayTimeout: 5000, + mouseDrag: false, + touchDrag: false, + pullDrag: false, + responsive: {} + }); + } + dark_mockup_carousel(); + + // Hero Tab Slider + function tab_carousel() { + var owl = $("#tab-slide"); + owl.owlCarousel({ + loop: true, + margin: 10, + responsiveClass: true, + navigation: true, + items: 1, + animateIn: 'slideInDown', + animateOut: 'slideOutRight', + addClassActive: true, + dots: true, + autoplay: true, + autoplayTimeout: 5000, + mouseDrag: false, + touchDrag: true, + pullDrag: false, + responsive: {} + }); + } + tab_carousel(); + + + // Tab Slider + $('.single-feature-item').on('click', function() { + $('.single-feature-item').removeClass('active'); + $(this).addClass('active'); + var val = $(this).attr('data-value'); + $('.single-feature-slide img').removeClass('active wow animated fadeIn'); + $('.single-feature-slide').find('img#' + val).addClass('active wow animated fadeIn'); + }); + + // Tab Pricing Table + $('.pricing-pill li').on('click', function() { + $('.pricing-pill li').removeClass('active'); + $('.pricing-table li').removeClass('active'); + $(this).addClass('active'); + var pricing = $(this).attr('data-value'); + $('.pricing-table li#' + pricing).addClass('active'); + }); + + ; + +}(jQuery)); \ No newline at end of file diff --git a/assets/js/typed.min.js b/assets/js/typed.min.js new file mode 100644 index 0000000..24921d4 --- /dev/null +++ b/assets/js/typed.min.js @@ -0,0 +1 @@ +!function(t){"use strict";var s=function(s,e){this.el=t(s),this.options=t.extend({},t.fn.typed.defaults,e),this.isInput=this.el.is("input"),this.attr=this.options.attr,this.showCursor=this.isInput?!1:this.options.showCursor,this.elContent=this.attr?this.el.attr(this.attr):this.el.text(),this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,this.stringsElement=this.options.stringsElement,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.shuffle=this.options.shuffle,this.sequence=[],this.build()};s.prototype={constructor:s,init:function(){var t=this;t.timeout=setTimeout(function(){for(var s=0;s'+this.cursorChar+""),this.el.after(this.cursor)),this.stringsElement){this.strings=[],this.stringsElement.hide(),console.log(this.stringsElement.children());var e=this.stringsElement.children();t.each(e,function(e,i){s.strings.push(t(i).html())})}this.init()},typewrite:function(t,s){if(this.stop!==!0){var e=Math.round(70*Math.random())+this.typeSpeed,i=this;i.timeout=setTimeout(function(){var e=0,r=t.substr(s);if("^"===r.charAt(0)){var o=1;/^\^\d+/.test(r)&&(r=/\d+/.exec(r)[0],o+=r.length,e=parseInt(r)),t=t.substring(0,s)+t.substring(s+o)}if("html"===i.contentType){var n=t.substr(s).charAt(0);if("<"===n||"&"===n){var a="",h="";for(h="<"===n?">":";";t.substr(s+1).charAt(0)!==h&&(a+=t.substr(s).charAt(0),s++,!(s+1>t.length)););s++,a+=h}}i.timeout=setTimeout(function(){if(s===t.length){if(i.options.onStringTyped(i.arrayPos),i.arrayPos===i.strings.length-1&&(i.options.callback(),i.curLoop++,i.loop===!1||i.curLoop===i.loopCount))return;i.timeout=setTimeout(function(){i.backspace(t,s)},i.backDelay)}else{0===s&&i.options.preStringTyped(i.arrayPos);var e=t.substr(0,s+1);i.attr?i.el.attr(i.attr,e):i.isInput?i.el.val(e):"html"===i.contentType?i.el.html(e):i.el.text(e),s++,i.typewrite(t,s)}},e)},e)}},backspace:function(t,s){if(this.stop!==!0){var e=Math.round(70*Math.random())+this.backSpeed,i=this;i.timeout=setTimeout(function(){if("html"===i.contentType&&">"===t.substr(s).charAt(0)){for(var e="";"<"!==t.substr(s-1).charAt(0)&&(e-=t.substr(s).charAt(0),s--,!(0>s)););s--,e+="<"}var r=t.substr(0,s);i.attr?i.el.attr(i.attr,r):i.isInput?i.el.val(r):"html"===i.contentType?i.el.html(r):i.el.text(r),s>i.stopNum?(s--,i.backspace(t,s)):s<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.shuffle&&(i.sequence=i.shuffleArray(i.sequence)),i.init()):i.typewrite(i.strings[i.sequence[i.arrayPos]],s))},e)}},shuffleArray:function(t){var s,e,i=t.length;if(i)for(;--i;)e=Math.floor(Math.random()*(i+1)),s=t[e],t[e]=t[i],t[i]=s;return t},reset:function(){var t=this;clearInterval(t.timeout);this.el.attr("id");this.el.empty(),"undefined"!=typeof this.cursor&&this.cursor.remove(),this.strPos=0,this.arrayPos=0,this.curLoop=0,this.options.resetCallback()}},t.fn.typed=function(e){return this.each(function(){var i=t(this),r=i.data("typed"),o="object"==typeof e&&e;r&&r.reset(),i.data("typed",r=new s(this,o)),"string"==typeof e&&r[e]()})},t.fn.typed.defaults={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,shuffle:!1,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window.jQuery); \ No newline at end of file diff --git a/assets/js/wow.min.js b/assets/js/wow.min.js new file mode 100644 index 0000000..0a646f2 --- /dev/null +++ b/assets/js/wow.min.js @@ -0,0 +1,2 @@ +/*! WOW - v1.1.3 - 2016-05-06 +* Copyright (c) 2016 Matthieu Aussaguel;*/(function(){var a,b,c,d,e,f=function(a,b){return function(){return a.apply(b,arguments)}},g=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};b=function(){function a(){}return a.prototype.extend=function(a,b){var c,d;for(c in b)d=b[c],null==a[c]&&(a[c]=d);return a},a.prototype.isMobile=function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)},a.prototype.createEvent=function(a,b,c,d){var e;return null==b&&(b=!1),null==c&&(c=!1),null==d&&(d=null),null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e},a.prototype.emitEvent=function(a,b){return null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)?a["on"+b]():void 0},a.prototype.addEvent=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},a.prototype.removeEvent=function(a,b,c){return null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]},a.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},a}(),c=this.WeakMap||this.MozWeakMap||(c=function(){function a(){this.keys=[],this.values=[]}return a.prototype.get=function(a){var b,c,d,e,f;for(f=this.keys,b=d=0,e=f.length;e>d;b=++d)if(c=f[b],c===a)return this.values[b]},a.prototype.set=function(a,b){var c,d,e,f,g;for(g=this.keys,c=e=0,f=g.length;f>e;c=++e)if(d=g[c],d===a)return void(this.values[c]=b);return this.keys.push(a),this.values.push(b)},a}()),a=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(a=function(){function a(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return a.notSupported=!0,a.prototype.observe=function(){},a}()),d=this.getComputedStyle||function(a,b){return this.getPropertyValue=function(b){var c;return"float"===b&&(b="styleFloat"),e.test(b)&&b.replace(e,function(a,b){return b.toUpperCase()}),(null!=(c=a.currentStyle)?c[b]:void 0)||null},this},e=/(\-([a-z]){1})/g,this.WOW=function(){function e(a){null==a&&(a={}),this.scrollCallback=f(this.scrollCallback,this),this.scrollHandler=f(this.scrollHandler,this),this.resetAnimation=f(this.resetAnimation,this),this.start=f(this.start,this),this.scrolled=!0,this.config=this.util().extend(a,this.defaults),null!=a.scrollContainer&&(this.config.scrollContainer=document.querySelector(a.scrollContainer)),this.animationNameCache=new c,this.wowEvent=this.util().createEvent(this.config.boxClass)}return e.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null,scrollContainer:null},e.prototype.init=function(){var a;return this.element=window.document.documentElement,"interactive"===(a=document.readyState)||"complete"===a?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},e.prototype.start=function(){var b,c,d,e;if(this.stopped=!1,this.boxes=function(){var a,c,d,e;for(d=this.element.querySelectorAll("."+this.config.boxClass),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.all=function(){var a,c,d,e;for(d=this.boxes,e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(e=this.boxes,c=0,d=e.length;d>c;c++)b=e[c],this.applyStyle(b,!0);return this.disabled()||(this.util().addEvent(this.config.scrollContainer||window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new a(function(a){return function(b){var c,d,e,f,g;for(g=[],c=0,d=b.length;d>c;c++)f=b[c],g.push(function(){var a,b,c,d;for(c=f.addedNodes||[],d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(this.doSync(e));return d}.call(a));return g}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},e.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(this.config.scrollContainer||window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},e.prototype.sync=function(b){return a.notSupported?this.doSync(this.element):void 0},e.prototype.doSync=function(a){var b,c,d,e,f;if(null==a&&(a=this.element),1===a.nodeType){for(a=a.parentNode||a,e=a.querySelectorAll("."+this.config.boxClass),f=[],c=0,d=e.length;d>c;c++)b=e[c],g.call(this.all,b)<0?(this.boxes.push(b),this.all.push(b),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(b,!0),f.push(this.scrolled=!0)):f.push(void 0);return f}},e.prototype.show=function(a){return this.applyStyle(a),a.className=a.className+" "+this.config.animateClass,null!=this.config.callback&&this.config.callback(a),this.util().emitEvent(a,this.wowEvent),this.util().addEvent(a,"animationend",this.resetAnimation),this.util().addEvent(a,"oanimationend",this.resetAnimation),this.util().addEvent(a,"webkitAnimationEnd",this.resetAnimation),this.util().addEvent(a,"MSAnimationEnd",this.resetAnimation),a},e.prototype.applyStyle=function(a,b){var c,d,e;return d=a.getAttribute("data-wow-duration"),c=a.getAttribute("data-wow-delay"),e=a.getAttribute("data-wow-iteration"),this.animate(function(f){return function(){return f.customStyle(a,b,d,c,e)}}(this))},e.prototype.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),e.prototype.resetStyle=function(){var a,b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(a.style.visibility="visible");return e},e.prototype.resetAnimation=function(a){var b;return a.type.toLowerCase().indexOf("animationend")>=0?(b=a.target||a.srcElement,b.className=b.className.replace(this.config.animateClass,"").trim()):void 0},e.prototype.customStyle=function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a},e.prototype.vendors=["moz","webkit"],e.prototype.vendorSet=function(a,b){var c,d,e,f;d=[];for(c in b)e=b[c],a[""+c]=e,d.push(function(){var b,d,g,h;for(g=this.vendors,h=[],b=0,d=g.length;d>b;b++)f=g[b],h.push(a[""+f+c.charAt(0).toUpperCase()+c.substr(1)]=e);return h}.call(this));return d},e.prototype.vendorCSS=function(a,b){var c,e,f,g,h,i;for(h=d(a),g=h.getPropertyCSSValue(b),f=this.vendors,c=0,e=f.length;e>c;c++)i=f[c],g=g||h.getPropertyCSSValue("-"+i+"-"+b);return g},e.prototype.animationName=function(a){var b;try{b=this.vendorCSS(a,"animation-name").cssText}catch(c){b=d(a).getPropertyValue("animation-name")}return"none"===b?"":b},e.prototype.cacheAnimationName=function(a){return this.animationNameCache.set(a,this.animationName(a))},e.prototype.cachedAnimationName=function(a){return this.animationNameCache.get(a)},e.prototype.scrollHandler=function(){return this.scrolled=!0},e.prototype.scrollCallback=function(){var a;return!this.scrolled||(this.scrolled=!1,this.boxes=function(){var b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],a&&(this.isVisible(a)?this.show(a):e.push(a));return e}.call(this),this.boxes.length||this.config.live)?void 0:this.stop()},e.prototype.offsetTop=function(a){for(var b;void 0===a.offsetTop;)a=a.parentNode;for(b=a.offsetTop;a=a.offsetParent;)b+=a.offsetTop;return b},e.prototype.isVisible=function(a){var b,c,d,e,f;return c=a.getAttribute("data-wow-offset")||this.config.offset,f=this.config.scrollContainer&&this.config.scrollContainer.scrollTop||window.pageYOffset,e=f+Math.min(this.element.clientHeight,this.util().innerHeight())-c,d=this.offsetTop(a),b=d+a.clientHeight,e>=d&&b>=f},e.prototype.util=function(){return null!=this._util?this._util:this._util=new b},e.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent)},e}()}).call(this); \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..8d24199 --- /dev/null +++ b/composer.json @@ -0,0 +1,22 @@ +{ + "description": "The CodeIgniter framework", + "name": "codeigniter/framework", + "type": "project", + "homepage": "https://codeigniter.com", + "license": "MIT", + "support": { + "forum": "http://forum.codeigniter.com/", + "wiki": "https://github.com/bcit-ci/CodeIgniter/wiki", + "slack": "https://codeigniterchat.slack.com", + "source": "https://github.com/bcit-ci/CodeIgniter" + }, + "require": { + "php": ">=5.3.7" + }, + "suggest": { + "paragonie/random_compat": "Provides better randomness in PHP 5.x" + }, + "require-dev": { + "phpunit/phpunit": "4.* || 5.*" + } +} diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000..8edb510 --- /dev/null +++ b/contributing.md @@ -0,0 +1,95 @@ +# Contributing to CodeIgniter + + +CodeIgniter is a community driven project and accepts contributions of code and documentation from the community. These contributions are made in the form of Issues or [Pull Requests](http://help.github.com/send-pull-requests/) on the [CodeIgniter repository](https://github.com/bcit-ci/CodeIgniter) on GitHub. + +Issues are a quick way to point out a bug. If you find a bug or documentation error in CodeIgniter then please check a few things first: + +1. There is not already an open Issue +2. The issue has already been fixed (check the develop branch, or look for closed Issues) +3. Is it something really obvious that you can fix yourself? + +Reporting issues is helpful but an even better approach is to send a Pull Request, which is done by "Forking" the main repository and committing to your own copy. This will require you to use the version control system called Git. + +## Guidelines + +Before we look into how, here are the guidelines. If your Pull Requests fail +to pass these guidelines it will be declined and you will need to re-submit +when you’ve made the changes. This might sound a bit tough, but it is required +for us to maintain quality of the code-base. + +### PHP Style + +All code must meet the [Style Guide](https://codeigniter.com/user_guide/general/styleguide.html), which is +essentially the [Allman indent style](https://en.wikipedia.org/wiki/Indent_style#Allman_style), underscores and readable operators. This makes certain that all code is the same format as the existing code and means it will be as readable as possible. + +### Documentation + +If you change anything that requires a change to documentation then you will need to add it. New classes, methods, parameters, changing default values, etc are all things that will require a change to documentation. The change-log must also be updated for every change. Also PHPDoc blocks must be maintained. + +### Compatibility + +CodeIgniter recommends PHP 5.4 or newer to be used, but it should be +compatible with PHP 5.2.4 so all code supplied must stick to this +requirement. If PHP 5.3 (and above) functions or features are used then +there must be a fallback for PHP 5.2.4. + +### Branching + +CodeIgniter uses the [Git-Flow](http://nvie.com/posts/a-successful-git-branching-model/) branching model which requires all pull requests to be sent to the "develop" branch. This is +where the next planned version will be developed. The "master" branch will always contain the latest stable version and is kept clean so a "hotfix" (e.g: an emergency security patch) can be applied to master to create a new version, without worrying about other features holding it up. For this reason all commits need to be made to "develop" and any sent to "master" will be closed automatically. If you have multiple changes to submit, please place all changes into their own branch on your fork. + +One thing at a time: A pull request should only contain one change. That does not mean only one commit, but one change - however many commits it took. The reason for this is that if you change X and Y but send a pull request for both at the same time, we might really want X but disagree with Y, meaning we cannot merge the request. Using the Git-Flow branching model you can create new branches for both of these features and send two requests. + +### Signing + +You must sign your work, certifying that you either wrote the work or otherwise have the right to pass it on to an open source project. git makes this trivial as you merely have to use `--signoff` on your commits to your CodeIgniter fork. + +`git commit --signoff` + +or simply + +`git commit -s` + +This will sign your commits with the information setup in your git config, e.g. + +`Signed-off-by: John Q Public ` + +If you are using [Tower](http://www.git-tower.com/) there is a "Sign-Off" checkbox in the commit window. You could even alias git commit to use the `-s` flag so you don’t have to think about it. + +By signing your work in this manner, you certify to a "Developer's Certificate of Origin". The current version of this certificate is in the `DCO.txt` file in the root of this repository. + + +## How-to Guide + +There are two ways to make changes, the easy way and the hard way. Either way you will need to [create a GitHub account](https://github.com/signup/free). + +Easy way GitHub allows in-line editing of files for making simple typo changes and quick-fixes. This is not the best way as you are unable to test the code works. If you do this you could be introducing syntax errors, etc, but for a Git-phobic user this is good for a quick-fix. + +Hard way The best way to contribute is to "clone" your fork of CodeIgniter to your development area. That sounds like some jargon, but "forking" on GitHub means "making a copy of that repo to your account" and "cloning" means "copying that code to your environment so you can work on it". + +1. Set up Git (Windows, Mac & Linux) +2. Go to the CodeIgniter repo +3. Fork it +4. Clone your CodeIgniter repo: git@github.com:/CodeIgniter.git +5. Checkout the "develop" branch At this point you are ready to start making changes. +6. Fix existing bugs on the Issue tracker after taking a look to see nobody else is working on them. +7. Commit the files +8. Push your develop branch to your fork +9. Send a pull request [http://help.github.com/send-pull-requests/](http://help.github.com/send-pull-requests/) + +The Reactor Engineers will now be alerted about the change and at least one of the team will respond. If your change fails to meet the guidelines it will be bounced, or feedback will be provided to help you improve it. + +Once the Reactor Engineer handling your pull request is happy with it they will merge it into develop and your patch will be part of the next release. + +### Keeping your fork up-to-date + +Unlike systems like Subversion, Git can have multiple remotes. A remote is the name for a URL of a Git repository. By default your fork will have a remote named "origin" which points to your fork, but you can add another remote named "codeigniter" which points to `git://github.com/bcit-ci/CodeIgniter.git`. This is a read-only remote but you can pull from this develop branch to update your own. + +If you are using command-line you can do the following: + +1. `git remote add codeigniter git://github.com/bcit-ci/CodeIgniter.git` +2. `git pull codeigniter develop` +3. `git push origin develop` + +Now your fork is up to date. This should be done regularly, or before you send a pull request at least. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f204d9c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' +services: + capstech-web: + build: + context: . + dockerfile: docker/apache/Dockerfile + args: + uid: ${UID} + environment: +# - APACHE_RUN_USER=${UID} +# - APACHE_RUN_GROUP=${UID} + - CI_ENV + - CI_CONFIG + restart: unless-stopped + # image: registry.chiefsoft.net/chiefsoftcom-web:latest + volumes: + - ./:/var/www/html + - ./apache_log:/var/log/apache2 + ports: + - 7074:80 +volumes: + src: diff --git a/docker/apache/000-default.conf b/docker/apache/000-default.conf new file mode 100644 index 0000000..9afe7bb --- /dev/null +++ b/docker/apache/000-default.conf @@ -0,0 +1,12 @@ + + ServerAdmin works@chiefsoft.com + ServerName www.chiefsoft.com + # DocumentRoot /var/www/html/public + DocumentRoot /var/www/html + + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + diff --git a/docker/apache/Dockerfile b/docker/apache/Dockerfile new file mode 100644 index 0000000..d97cc56 --- /dev/null +++ b/docker/apache/Dockerfile @@ -0,0 +1,55 @@ +FROM php:7.4-apache +RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf +RUN apt-get clean +RUN apt-get update +RUN apt-get install -y \ + git \ + zip \ + curl \ + sudo \ + unzip \ + libicu-dev \ + libbz2-dev \ + libpng-dev \ + libjpeg-dev \ + libmcrypt-dev \ + libreadline-dev \ + libfreetype6-dev \ + g++ + +RUN docker-php-ext-install \ + bz2 \ + intl \ + bcmath \ + opcache \ + calendar \ + pdo_mysql \ + mysqli + +# 2. set up document root for apache +COPY docker/apache/000-default.conf /etc/apache2/sites-available/000-default.conf + +# 3. mod_rewrite for URL rewrite and mod_headers for .htaccess extra headers like Access-Control-Allow-Origin- +RUN a2enmod rewrite headers + +# 4. start with base php config, then add extensions +RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" + +# 5. Composer +RUN curl -sS https://getcomposer.org/installer | php +RUN mv composer.phar /usr/local/bin/composer +RUN chmod +x /usr/local/bin/composer +RUN composer self-update + +COPY / /var/www/html/ +# 6. we need a user with the same UID/GID with host user +# so when we execute CLI commands, all the host file's ownership remains intact +# otherwise command from inside container will create root-owned files and directories +ARG uid=1000 +RUN useradd -G www-data,root -u $uid -d /home/devuser devuser +RUN mkdir -p /home/devuser/.composer && \ + chown -R devuser:devuser /home/devuser +RUN cd /var/www/html && composer install +RUN chmod -R a+w /var/www/html/writable + +EXPOSE 80 \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..ca1304a --- /dev/null +++ b/index.php @@ -0,0 +1,315 @@ +=')) + { + error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED); + } + else + { + error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE); + } + break; + + default: + header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); + echo 'The application environment is not set correctly.'; + exit(1); // EXIT_ERROR +} + +/* + *--------------------------------------------------------------- + * SYSTEM DIRECTORY NAME + *--------------------------------------------------------------- + * + * This variable must contain the name of your "system" directory. + * Set the path if it is not in the same directory as this file. + */ + $system_path = 'system'; + +/* + *--------------------------------------------------------------- + * APPLICATION DIRECTORY NAME + *--------------------------------------------------------------- + * + * If you want this front controller to use a different "application" + * directory than the default one you can set its name here. The directory + * can also be renamed or relocated anywhere on your server. If you do, + * use an absolute (full) server path. + * For more info please see the user guide: + * + * https://codeigniter.com/user_guide/general/managing_apps.html + * + * NO TRAILING SLASH! + */ + $application_folder = 'application'; + +/* + *--------------------------------------------------------------- + * VIEW DIRECTORY NAME + *--------------------------------------------------------------- + * + * If you want to move the view directory out of the application + * directory, set the path to it here. The directory can be renamed + * and relocated anywhere on your server. If blank, it will default + * to the standard location inside your application directory. + * If you do move this, use an absolute (full) server path. + * + * NO TRAILING SLASH! + */ + $view_folder = ''; + + +/* + * -------------------------------------------------------------------- + * DEFAULT CONTROLLER + * -------------------------------------------------------------------- + * + * Normally you will set your default controller in the routes.php file. + * You can, however, force a custom routing by hard-coding a + * specific controller class/function here. For most applications, you + * WILL NOT set your routing here, but it's an option for those + * special instances where you might want to override the standard + * routing in a specific front controller that shares a common CI installation. + * + * IMPORTANT: If you set the routing here, NO OTHER controller will be + * callable. In essence, this preference limits your application to ONE + * specific controller. Leave the function name blank if you need + * to call functions dynamically via the URI. + * + * Un-comment the $routing array below to use this feature + */ + // The directory name, relative to the "controllers" directory. Leave blank + // if your controller is not in a sub-directory within the "controllers" one + // $routing['directory'] = ''; + + // The controller class file name. Example: mycontroller + // $routing['controller'] = ''; + + // The controller function you wish to be called. + // $routing['function'] = ''; + + +/* + * ------------------------------------------------------------------- + * CUSTOM CONFIG VALUES + * ------------------------------------------------------------------- + * + * The $assign_to_config array below will be passed dynamically to the + * config class when initialized. This allows you to set custom config + * items or override any default config values found in the config.php file. + * This can be handy as it permits you to share one application between + * multiple front controller files, with each file containing different + * config values. + * + * Un-comment the $assign_to_config array below to use this feature + */ + // $assign_to_config['name_of_config_item'] = 'value of config item'; + + + +// -------------------------------------------------------------------- +// END OF USER CONFIGURABLE SETTINGS. DO NOT EDIT BELOW THIS LINE +// -------------------------------------------------------------------- + +/* + * --------------------------------------------------------------- + * Resolve the system path for increased reliability + * --------------------------------------------------------------- + */ + + // Set the current directory correctly for CLI requests + if (defined('STDIN')) + { + chdir(dirname(__FILE__)); + } + + if (($_temp = realpath($system_path)) !== FALSE) + { + $system_path = $_temp.DIRECTORY_SEPARATOR; + } + else + { + // Ensure there's a trailing slash + $system_path = strtr( + rtrim($system_path, '/\\'), + '/\\', + DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR + ).DIRECTORY_SEPARATOR; + } + + // Is the system path correct? + if ( ! is_dir($system_path)) + { + header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); + echo 'Your system folder path does not appear to be set correctly. Please open the following file and correct this: '.pathinfo(__FILE__, PATHINFO_BASENAME); + exit(3); // EXIT_CONFIG + } + +/* + * ------------------------------------------------------------------- + * Now that we know the path, set the main path constants + * ------------------------------------------------------------------- + */ + // The name of THIS file + define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME)); + + // Path to the system directory + define('BASEPATH', $system_path); + + // Path to the front controller (this file) directory + define('FCPATH', dirname(__FILE__).DIRECTORY_SEPARATOR); + + // Name of the "system" directory + define('SYSDIR', basename(BASEPATH)); + + // The path to the "application" directory + if (is_dir($application_folder)) + { + if (($_temp = realpath($application_folder)) !== FALSE) + { + $application_folder = $_temp; + } + else + { + $application_folder = strtr( + rtrim($application_folder, '/\\'), + '/\\', + DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR + ); + } + } + elseif (is_dir(BASEPATH.$application_folder.DIRECTORY_SEPARATOR)) + { + $application_folder = BASEPATH.strtr( + trim($application_folder, '/\\'), + '/\\', + DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR + ); + } + else + { + header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); + echo 'Your application folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF; + exit(3); // EXIT_CONFIG + } + + define('APPPATH', $application_folder.DIRECTORY_SEPARATOR); + + // The path to the "views" directory + if ( ! isset($view_folder[0]) && is_dir(APPPATH.'views'.DIRECTORY_SEPARATOR)) + { + $view_folder = APPPATH.'views'; + } + elseif (is_dir($view_folder)) + { + if (($_temp = realpath($view_folder)) !== FALSE) + { + $view_folder = $_temp; + } + else + { + $view_folder = strtr( + rtrim($view_folder, '/\\'), + '/\\', + DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR + ); + } + } + elseif (is_dir(APPPATH.$view_folder.DIRECTORY_SEPARATOR)) + { + $view_folder = APPPATH.strtr( + trim($view_folder, '/\\'), + '/\\', + DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR + ); + } + else + { + header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); + echo 'Your view folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF; + exit(3); // EXIT_CONFIG + } + + define('VIEWPATH', $view_folder.DIRECTORY_SEPARATOR); + +/* + * -------------------------------------------------------------------- + * LOAD THE BOOTSTRAP FILE + * -------------------------------------------------------------------- + * + * And away we go... + */ +require_once BASEPATH.'core/CodeIgniter.php'; diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..dcac585 --- /dev/null +++ b/license.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 - 2018, British Columbia Institute of Technology + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/readme.rst b/readme.rst new file mode 100644 index 0000000..b652008 --- /dev/null +++ b/readme.rst @@ -0,0 +1,70 @@ +################### +What is CodeIgniter +################### + +CodeIgniter is an Application Development Framework - a toolkit - for people +who build web sites using PHP. Its goal is to enable you to develop projects +much faster than you could if you were writing code from scratch, by providing +a rich set of libraries for commonly needed tasks, as well as a simple +interface and logical structure to access these libraries. CodeIgniter lets +you creatively focus on your project by minimizing the amount of code needed +for a given task. + +******************* +Release Information +******************* + +This repo contains in-development code for future releases. To download the +latest stable release please visit the `CodeIgniter Downloads +`_ page. + +************************** +Changelog and New Features +************************** + +You can find a list of all changes for each release in the `user +guide change log `_. + +******************* +Server Requirements +******************* + +PHP version 5.6 or newer is recommended. + +It should work on 5.3.7 as well, but we strongly advise you NOT to run +such old versions of PHP, because of potential security and performance +issues, as well as missing features. + +************ +Installation +************ + +Please see the `installation section `_ +of the CodeIgniter User Guide. + +******* +License +******* + +Please see the `license +agreement `_. + +********* +Resources +********* + +- `User Guide `_ +- `Language File Translations `_ +- `Community Forums `_ +- `Community Wiki `_ +- `Community Slack Channel `_ + +Report security issues to our `Security Panel `_ +or via our `page on HackerOne `_, thank you. + +*************** +Acknowledgement +*************** + +The CodeIgniter team would like to thank EllisLab, all the +contributors to the CodeIgniter project and you, the CodeIgniter user. diff --git a/system/.htaccess b/system/.htaccess new file mode 100644 index 0000000..97c65d2 --- /dev/null +++ b/system/.htaccess @@ -0,0 +1,6 @@ + + Require all denied + + + Deny from all + \ No newline at end of file diff --git a/system/core/Benchmark.php b/system/core/Benchmark.php new file mode 100644 index 0000000..d6e1336 --- /dev/null +++ b/system/core/Benchmark.php @@ -0,0 +1,133 @@ +marker[$name] = microtime(TRUE); + } + + // -------------------------------------------------------------------- + + /** + * Elapsed time + * + * Calculates the time difference between two marked points. + * + * If the first parameter is empty this function instead returns the + * {elapsed_time} pseudo-variable. This permits the full system + * execution time to be shown in a template. The output class will + * swap the real value for this variable. + * + * @param string $point1 A particular marked point + * @param string $point2 A particular marked point + * @param int $decimals Number of decimal places + * + * @return string Calculated elapsed time on success, + * an '{elapsed_string}' if $point1 is empty + * or an empty string if $point1 is not found. + */ + public function elapsed_time($point1 = '', $point2 = '', $decimals = 4) + { + if ($point1 === '') + { + return '{elapsed_time}'; + } + + if ( ! isset($this->marker[$point1])) + { + return ''; + } + + if ( ! isset($this->marker[$point2])) + { + $this->marker[$point2] = microtime(TRUE); + } + + return number_format($this->marker[$point2] - $this->marker[$point1], $decimals); + } + + // -------------------------------------------------------------------- + + /** + * Memory Usage + * + * Simply returns the {memory_usage} marker. + * + * This permits it to be put it anywhere in a template + * without the memory being calculated until the end. + * The output class will swap the real value for this variable. + * + * @return string '{memory_usage}' + */ + public function memory_usage() + { + return '{memory_usage}'; + } + +} diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php new file mode 100644 index 0000000..962196b --- /dev/null +++ b/system/core/CodeIgniter.php @@ -0,0 +1,559 @@ + '_ENV', 'G' => '_GET', 'P' => '_POST', 'C' => '_COOKIE', 'S' => '_SERVER') as $key => $superglobal) + { + if (strpos($_registered, $key) === FALSE) + { + continue; + } + + foreach (array_keys($$superglobal) as $var) + { + if (isset($GLOBALS[$var]) && ! in_array($var, $_protected, TRUE)) + { + $GLOBALS[$var] = NULL; + } + } + } + } +} + + +/* + * ------------------------------------------------------ + * Define a custom error handler so we can log PHP errors + * ------------------------------------------------------ + */ + set_error_handler('_error_handler'); + set_exception_handler('_exception_handler'); + register_shutdown_function('_shutdown_handler'); + +/* + * ------------------------------------------------------ + * Set the subclass_prefix + * ------------------------------------------------------ + * + * Normally the "subclass_prefix" is set in the config file. + * The subclass prefix allows CI to know if a core class is + * being extended via a library in the local application + * "libraries" folder. Since CI allows config items to be + * overridden via data set in the main index.php file, + * before proceeding we need to know if a subclass_prefix + * override exists. If so, we will set this value now, + * before any classes are loaded + * Note: Since the config file data is cached it doesn't + * hurt to load it here. + */ + if ( ! empty($assign_to_config['subclass_prefix'])) + { + get_config(array('subclass_prefix' => $assign_to_config['subclass_prefix'])); + } + +/* + * ------------------------------------------------------ + * Should we use a Composer autoloader? + * ------------------------------------------------------ + */ + if ($composer_autoload = config_item('composer_autoload')) + { + if ($composer_autoload === TRUE) + { + file_exists(APPPATH.'vendor/autoload.php') + ? require_once(APPPATH.'vendor/autoload.php') + : log_message('error', '$config[\'composer_autoload\'] is set to TRUE but '.APPPATH.'vendor/autoload.php was not found.'); + } + elseif (file_exists($composer_autoload)) + { + require_once($composer_autoload); + } + else + { + log_message('error', 'Could not find the specified $config[\'composer_autoload\'] path: '.$composer_autoload); + } + } + +/* + * ------------------------------------------------------ + * Start the timer... tick tock tick tock... + * ------------------------------------------------------ + */ + $BM =& load_class('Benchmark', 'core'); + $BM->mark('total_execution_time_start'); + $BM->mark('loading_time:_base_classes_start'); + +/* + * ------------------------------------------------------ + * Instantiate the hooks class + * ------------------------------------------------------ + */ + $EXT =& load_class('Hooks', 'core'); + +/* + * ------------------------------------------------------ + * Is there a "pre_system" hook? + * ------------------------------------------------------ + */ + $EXT->call_hook('pre_system'); + +/* + * ------------------------------------------------------ + * Instantiate the config class + * ------------------------------------------------------ + * + * Note: It is important that Config is loaded first as + * most other classes depend on it either directly or by + * depending on another class that uses it. + * + */ + $CFG =& load_class('Config', 'core'); + + // Do we have any manually set config items in the index.php file? + if (isset($assign_to_config) && is_array($assign_to_config)) + { + foreach ($assign_to_config as $key => $value) + { + $CFG->set_item($key, $value); + } + } + +/* + * ------------------------------------------------------ + * Important charset-related stuff + * ------------------------------------------------------ + * + * Configure mbstring and/or iconv if they are enabled + * and set MB_ENABLED and ICONV_ENABLED constants, so + * that we don't repeatedly do extension_loaded() or + * function_exists() calls. + * + * Note: UTF-8 class depends on this. It used to be done + * in it's constructor, but it's _not_ class-specific. + * + */ + $charset = strtoupper(config_item('charset')); + ini_set('default_charset', $charset); + + if (extension_loaded('mbstring')) + { + define('MB_ENABLED', TRUE); + // mbstring.internal_encoding is deprecated starting with PHP 5.6 + // and it's usage triggers E_DEPRECATED messages. + @ini_set('mbstring.internal_encoding', $charset); + // This is required for mb_convert_encoding() to strip invalid characters. + // That's utilized by CI_Utf8, but it's also done for consistency with iconv. + mb_substitute_character('none'); + } + else + { + define('MB_ENABLED', FALSE); + } + + // There's an ICONV_IMPL constant, but the PHP manual says that using + // iconv's predefined constants is "strongly discouraged". + if (extension_loaded('iconv')) + { + define('ICONV_ENABLED', TRUE); + // iconv.internal_encoding is deprecated starting with PHP 5.6 + // and it's usage triggers E_DEPRECATED messages. + @ini_set('iconv.internal_encoding', $charset); + } + else + { + define('ICONV_ENABLED', FALSE); + } + + if (is_php('5.6')) + { + ini_set('php.internal_encoding', $charset); + } + +/* + * ------------------------------------------------------ + * Load compatibility features + * ------------------------------------------------------ + */ + + require_once(BASEPATH.'core/compat/mbstring.php'); + require_once(BASEPATH.'core/compat/hash.php'); + require_once(BASEPATH.'core/compat/password.php'); + require_once(BASEPATH.'core/compat/standard.php'); + +/* + * ------------------------------------------------------ + * Instantiate the UTF-8 class + * ------------------------------------------------------ + */ + $UNI =& load_class('Utf8', 'core'); + +/* + * ------------------------------------------------------ + * Instantiate the URI class + * ------------------------------------------------------ + */ + $URI =& load_class('URI', 'core'); + +/* + * ------------------------------------------------------ + * Instantiate the routing class and set the routing + * ------------------------------------------------------ + */ + $RTR =& load_class('Router', 'core', isset($routing) ? $routing : NULL); + +/* + * ------------------------------------------------------ + * Instantiate the output class + * ------------------------------------------------------ + */ + $OUT =& load_class('Output', 'core'); + +/* + * ------------------------------------------------------ + * Is there a valid cache file? If so, we're done... + * ------------------------------------------------------ + */ + if ($EXT->call_hook('cache_override') === FALSE && $OUT->_display_cache($CFG, $URI) === TRUE) + { + exit; + } + +/* + * ----------------------------------------------------- + * Load the security class for xss and csrf support + * ----------------------------------------------------- + */ + $SEC =& load_class('Security', 'core'); + +/* + * ------------------------------------------------------ + * Load the Input class and sanitize globals + * ------------------------------------------------------ + */ + $IN =& load_class('Input', 'core'); + +/* + * ------------------------------------------------------ + * Load the Language class + * ------------------------------------------------------ + */ + $LANG =& load_class('Lang', 'core'); + +/* + * ------------------------------------------------------ + * Load the app controller and local controller + * ------------------------------------------------------ + * + */ + // Load the base controller class + require_once BASEPATH.'core/Controller.php'; + + /** + * Reference to the CI_Controller method. + * + * Returns current CI instance object + * + * @return CI_Controller + */ + function &get_instance() + { + return CI_Controller::get_instance(); + } + + if (file_exists(APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php')) + { + require_once APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php'; + } + + // Set a mark point for benchmarking + $BM->mark('loading_time:_base_classes_end'); + +/* + * ------------------------------------------------------ + * Sanity checks + * ------------------------------------------------------ + * + * The Router class has already validated the request, + * leaving us with 3 options here: + * + * 1) an empty class name, if we reached the default + * controller, but it didn't exist; + * 2) a query string which doesn't go through a + * file_exists() check + * 3) a regular request for a non-existing page + * + * We handle all of these as a 404 error. + * + * Furthermore, none of the methods in the app controller + * or the loader class can be called via the URI, nor can + * controller methods that begin with an underscore. + */ + + $e404 = FALSE; + $class = ucfirst($RTR->class); + $method = $RTR->method; + + if (empty($class) OR ! file_exists(APPPATH.'controllers/'.$RTR->directory.$class.'.php')) + { + $e404 = TRUE; + } + else + { + require_once(APPPATH.'controllers/'.$RTR->directory.$class.'.php'); + + if ( ! class_exists($class, FALSE) OR $method[0] === '_' OR method_exists('CI_Controller', $method)) + { + $e404 = TRUE; + } + elseif (method_exists($class, '_remap')) + { + $params = array($method, array_slice($URI->rsegments, 2)); + $method = '_remap'; + } + elseif ( ! method_exists($class, $method)) + { + $e404 = TRUE; + } + /** + * DO NOT CHANGE THIS, NOTHING ELSE WORKS! + * + * - method_exists() returns true for non-public methods, which passes the previous elseif + * - is_callable() returns false for PHP 4-style constructors, even if there's a __construct() + * - method_exists($class, '__construct') won't work because CI_Controller::__construct() is inherited + * - People will only complain if this doesn't work, even though it is documented that it shouldn't. + * + * ReflectionMethod::isConstructor() is the ONLY reliable check, + * knowing which method will be executed as a constructor. + */ + elseif ( ! is_callable(array($class, $method))) + { + $reflection = new ReflectionMethod($class, $method); + if ( ! $reflection->isPublic() OR $reflection->isConstructor()) + { + $e404 = TRUE; + } + } + } + + if ($e404) + { + if ( ! empty($RTR->routes['404_override'])) + { + if (sscanf($RTR->routes['404_override'], '%[^/]/%s', $error_class, $error_method) !== 2) + { + $error_method = 'index'; + } + + $error_class = ucfirst($error_class); + + if ( ! class_exists($error_class, FALSE)) + { + if (file_exists(APPPATH.'controllers/'.$RTR->directory.$error_class.'.php')) + { + require_once(APPPATH.'controllers/'.$RTR->directory.$error_class.'.php'); + $e404 = ! class_exists($error_class, FALSE); + } + // Were we in a directory? If so, check for a global override + elseif ( ! empty($RTR->directory) && file_exists(APPPATH.'controllers/'.$error_class.'.php')) + { + require_once(APPPATH.'controllers/'.$error_class.'.php'); + if (($e404 = ! class_exists($error_class, FALSE)) === FALSE) + { + $RTR->directory = ''; + } + } + } + else + { + $e404 = FALSE; + } + } + + // Did we reset the $e404 flag? If so, set the rsegments, starting from index 1 + if ( ! $e404) + { + $class = $error_class; + $method = $error_method; + + $URI->rsegments = array( + 1 => $class, + 2 => $method + ); + } + else + { + show_404($RTR->directory.$class.'/'.$method); + } + } + + if ($method !== '_remap') + { + $params = array_slice($URI->rsegments, 2); + } + +/* + * ------------------------------------------------------ + * Is there a "pre_controller" hook? + * ------------------------------------------------------ + */ + $EXT->call_hook('pre_controller'); + +/* + * ------------------------------------------------------ + * Instantiate the requested controller + * ------------------------------------------------------ + */ + // Mark a start point so we can benchmark the controller + $BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_start'); + + $CI = new $class(); + +/* + * ------------------------------------------------------ + * Is there a "post_controller_constructor" hook? + * ------------------------------------------------------ + */ + $EXT->call_hook('post_controller_constructor'); + +/* + * ------------------------------------------------------ + * Call the requested method + * ------------------------------------------------------ + */ + call_user_func_array(array(&$CI, $method), $params); + + // Mark a benchmark end point + $BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_end'); + +/* + * ------------------------------------------------------ + * Is there a "post_controller" hook? + * ------------------------------------------------------ + */ + $EXT->call_hook('post_controller'); + +/* + * ------------------------------------------------------ + * Send the final rendered output to the browser + * ------------------------------------------------------ + */ + if ($EXT->call_hook('display_override') === FALSE) + { + $OUT->_display(); + } + +/* + * ------------------------------------------------------ + * Is there a "post_system" hook? + * ------------------------------------------------------ + */ + $EXT->call_hook('post_system'); diff --git a/system/core/Common.php b/system/core/Common.php new file mode 100644 index 0000000..6d60f23 --- /dev/null +++ b/system/core/Common.php @@ -0,0 +1,849 @@ +='); + } + + return $_is_php[$version]; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('is_really_writable')) +{ + /** + * Tests for file writability + * + * is_writable() returns TRUE on Windows servers when you really can't write to + * the file, based on the read-only attribute. is_writable() is also unreliable + * on Unix servers if safe_mode is on. + * + * @link https://bugs.php.net/bug.php?id=54709 + * @param string + * @return bool + */ + function is_really_writable($file) + { + // If we're on a Unix server with safe_mode off we call is_writable + if (DIRECTORY_SEPARATOR === '/' && (is_php('5.4') OR ! ini_get('safe_mode'))) + { + return is_writable($file); + } + + /* For Windows servers and safe_mode "on" installations we'll actually + * write a file then read it. Bah... + */ + if (is_dir($file)) + { + $file = rtrim($file, '/').'/'.md5(mt_rand()); + if (($fp = @fopen($file, 'ab')) === FALSE) + { + return FALSE; + } + + fclose($fp); + @chmod($file, 0777); + @unlink($file); + return TRUE; + } + elseif ( ! is_file($file) OR ($fp = @fopen($file, 'ab')) === FALSE) + { + return FALSE; + } + + fclose($fp); + return TRUE; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('load_class')) +{ + /** + * Class registry + * + * This function acts as a singleton. If the requested class does not + * exist it is instantiated and set to a static variable. If it has + * previously been instantiated the variable is returned. + * + * @param string the class name being requested + * @param string the directory where the class should be found + * @param mixed an optional argument to pass to the class constructor + * @return object + */ + function &load_class($class, $directory = 'libraries', $param = NULL) + { + static $_classes = array(); + + // Does the class exist? If so, we're done... + if (isset($_classes[$class])) + { + return $_classes[$class]; + } + + $name = FALSE; + + // Look for the class first in the local application/libraries folder + // then in the native system/libraries folder + foreach (array(APPPATH, BASEPATH) as $path) + { + if (file_exists($path.$directory.'/'.$class.'.php')) + { + $name = 'CI_'.$class; + + if (class_exists($name, FALSE) === FALSE) + { + require_once($path.$directory.'/'.$class.'.php'); + } + + break; + } + } + + // Is the request a class extension? If so we load it too + if (file_exists(APPPATH.$directory.'/'.config_item('subclass_prefix').$class.'.php')) + { + $name = config_item('subclass_prefix').$class; + + if (class_exists($name, FALSE) === FALSE) + { + require_once(APPPATH.$directory.'/'.$name.'.php'); + } + } + + // Did we find the class? + if ($name === FALSE) + { + // Note: We use exit() rather than show_error() in order to avoid a + // self-referencing loop with the Exceptions class + set_status_header(503); + echo 'Unable to locate the specified class: '.$class.'.php'; + exit(5); // EXIT_UNK_CLASS + } + + // Keep track of what we just loaded + is_loaded($class); + + $_classes[$class] = isset($param) + ? new $name($param) + : new $name(); + return $_classes[$class]; + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('is_loaded')) +{ + /** + * Keeps track of which libraries have been loaded. This function is + * called by the load_class() function above + * + * @param string + * @return array + */ + function &is_loaded($class = '') + { + static $_is_loaded = array(); + + if ($class !== '') + { + $_is_loaded[strtolower($class)] = $class; + } + + return $_is_loaded; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('get_config')) +{ + /** + * Loads the main config.php file + * + * This function lets us grab the config file even if the Config class + * hasn't been instantiated yet + * + * @param array + * @return array + */ + function &get_config(Array $replace = array()) + { + static $config; + + if (empty($config)) + { + $file_path = APPPATH.'config/config.php'; + $found = FALSE; + if (file_exists($file_path)) + { + $found = TRUE; + require($file_path); + } + + // Is the config file in the environment folder? + if (file_exists($file_path = APPPATH.'config/'.ENVIRONMENT.'/config.php')) + { + require($file_path); + } + elseif ( ! $found) + { + set_status_header(503); + echo 'The configuration file does not exist.'; + exit(3); // EXIT_CONFIG + } + + // Does the $config array exist in the file? + if ( ! isset($config) OR ! is_array($config)) + { + set_status_header(503); + echo 'Your config file does not appear to be formatted correctly.'; + exit(3); // EXIT_CONFIG + } + } + + // Are any values being dynamically added or replaced? + foreach ($replace as $key => $val) + { + $config[$key] = $val; + } + + return $config; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('config_item')) +{ + /** + * Returns the specified config item + * + * @param string + * @return mixed + */ + function config_item($item) + { + static $_config; + + if (empty($_config)) + { + // references cannot be directly assigned to static variables, so we use an array + $_config[0] =& get_config(); + } + + return isset($_config[0][$item]) ? $_config[0][$item] : NULL; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('get_mimes')) +{ + /** + * Returns the MIME types array from config/mimes.php + * + * @return array + */ + function &get_mimes() + { + static $_mimes; + + if (empty($_mimes)) + { + $_mimes = file_exists(APPPATH.'config/mimes.php') + ? include(APPPATH.'config/mimes.php') + : array(); + + if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/mimes.php')) + { + $_mimes = array_merge($_mimes, include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php')); + } + } + + return $_mimes; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('is_https')) +{ + /** + * Is HTTPS? + * + * Determines if the application is accessed via an encrypted + * (HTTPS) connection. + * + * @return bool + */ + function is_https() + { + if ( ! empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') + { + return TRUE; + } + elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) === 'https') + { + return TRUE; + } + elseif ( ! empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') + { + return TRUE; + } + + return FALSE; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('is_cli')) +{ + + /** + * Is CLI? + * + * Test to see if a request was made from the command line. + * + * @return bool + */ + function is_cli() + { + return (PHP_SAPI === 'cli' OR defined('STDIN')); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('show_error')) +{ + /** + * Error Handler + * + * This function lets us invoke the exception class and + * display errors using the standard error template located + * in application/views/errors/error_general.php + * This function will send the error page directly to the + * browser and exit. + * + * @param string + * @param int + * @param string + * @return void + */ + function show_error($message, $status_code = 500, $heading = 'An Error Was Encountered') + { + $status_code = abs($status_code); + if ($status_code < 100) + { + $exit_status = $status_code + 9; // 9 is EXIT__AUTO_MIN + $status_code = 500; + } + else + { + $exit_status = 1; // EXIT_ERROR + } + + $_error =& load_class('Exceptions', 'core'); + echo $_error->show_error($heading, $message, 'error_general', $status_code); + exit($exit_status); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('show_404')) +{ + /** + * 404 Page Handler + * + * This function is similar to the show_error() function above + * However, instead of the standard error template it displays + * 404 errors. + * + * @param string + * @param bool + * @return void + */ + function show_404($page = '', $log_error = TRUE) + { + $_error =& load_class('Exceptions', 'core'); + $_error->show_404($page, $log_error); + exit(4); // EXIT_UNKNOWN_FILE + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('log_message')) +{ + /** + * Error Logging Interface + * + * We use this as a simple mechanism to access the logging + * class and send messages to be logged. + * + * @param string the error level: 'error', 'debug' or 'info' + * @param string the error message + * @return void + */ + function log_message($level, $message) + { + static $_log; + + if ($_log === NULL) + { + // references cannot be directly assigned to static variables, so we use an array + $_log[0] =& load_class('Log', 'core'); + } + + $_log[0]->write_log($level, $message); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('set_status_header')) +{ + /** + * Set HTTP Status Header + * + * @param int the status code + * @param string + * @return void + */ + function set_status_header($code = 200, $text = '') + { + if (is_cli()) + { + return; + } + + if (empty($code) OR ! is_numeric($code)) + { + show_error('Status codes must be numeric', 500); + } + + if (empty($text)) + { + is_int($code) OR $code = (int) $code; + $stati = array( + 100 => 'Continue', + 101 => 'Switching Protocols', + + 200 => 'OK', + 201 => 'Created', + 202 => 'Accepted', + 203 => 'Non-Authoritative Information', + 204 => 'No Content', + 205 => 'Reset Content', + 206 => 'Partial Content', + + 300 => 'Multiple Choices', + 301 => 'Moved Permanently', + 302 => 'Found', + 303 => 'See Other', + 304 => 'Not Modified', + 305 => 'Use Proxy', + 307 => 'Temporary Redirect', + + 400 => 'Bad Request', + 401 => 'Unauthorized', + 402 => 'Payment Required', + 403 => 'Forbidden', + 404 => 'Not Found', + 405 => 'Method Not Allowed', + 406 => 'Not Acceptable', + 407 => 'Proxy Authentication Required', + 408 => 'Request Timeout', + 409 => 'Conflict', + 410 => 'Gone', + 411 => 'Length Required', + 412 => 'Precondition Failed', + 413 => 'Request Entity Too Large', + 414 => 'Request-URI Too Long', + 415 => 'Unsupported Media Type', + 416 => 'Requested Range Not Satisfiable', + 417 => 'Expectation Failed', + 422 => 'Unprocessable Entity', + 426 => 'Upgrade Required', + 428 => 'Precondition Required', + 429 => 'Too Many Requests', + 431 => 'Request Header Fields Too Large', + + 500 => 'Internal Server Error', + 501 => 'Not Implemented', + 502 => 'Bad Gateway', + 503 => 'Service Unavailable', + 504 => 'Gateway Timeout', + 505 => 'HTTP Version Not Supported', + 511 => 'Network Authentication Required', + ); + + if (isset($stati[$code])) + { + $text = $stati[$code]; + } + else + { + show_error('No status text available. Please check your status code number or supply your own message text.', 500); + } + } + + if (strpos(PHP_SAPI, 'cgi') === 0) + { + header('Status: '.$code.' '.$text, TRUE); + return; + } + + $server_protocol = (isset($_SERVER['SERVER_PROTOCOL']) && in_array($_SERVER['SERVER_PROTOCOL'], array('HTTP/1.0', 'HTTP/1.1', 'HTTP/2'), TRUE)) + ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.1'; + header($server_protocol.' '.$code.' '.$text, TRUE, $code); + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('_error_handler')) +{ + /** + * Error Handler + * + * This is the custom error handler that is declared at the (relative) + * top of CodeIgniter.php. The main reason we use this is to permit + * PHP errors to be logged in our own log files since the user may + * not have access to server logs. Since this function effectively + * intercepts PHP errors, however, we also need to display errors + * based on the current error_reporting level. + * We do that with the use of a PHP error template. + * + * @param int $severity + * @param string $message + * @param string $filepath + * @param int $line + * @return void + */ + function _error_handler($severity, $message, $filepath, $line) + { + $is_error = (((E_ERROR | E_PARSE | E_COMPILE_ERROR | E_CORE_ERROR | E_USER_ERROR) & $severity) === $severity); + + // When an error occurred, set the status header to '500 Internal Server Error' + // to indicate to the client something went wrong. + // This can't be done within the $_error->show_php_error method because + // it is only called when the display_errors flag is set (which isn't usually + // the case in a production environment) or when errors are ignored because + // they are above the error_reporting threshold. + if ($is_error) + { + set_status_header(500); + } + + // Should we ignore the error? We'll get the current error_reporting + // level and add its bits with the severity bits to find out. + if (($severity & error_reporting()) !== $severity) + { + return; + } + + $_error =& load_class('Exceptions', 'core'); + $_error->log_exception($severity, $message, $filepath, $line); + + // Should we display the error? + if (str_ireplace(array('off', 'none', 'no', 'false', 'null'), '', ini_get('display_errors'))) + { + $_error->show_php_error($severity, $message, $filepath, $line); + } + + // If the error is fatal, the execution of the script should be stopped because + // errors can't be recovered from. Halting the script conforms with PHP's + // default error handling. See http://www.php.net/manual/en/errorfunc.constants.php + if ($is_error) + { + exit(1); // EXIT_ERROR + } + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('_exception_handler')) +{ + /** + * Exception Handler + * + * Sends uncaught exceptions to the logger and displays them + * only if display_errors is On so that they don't show up in + * production environments. + * + * @param Exception $exception + * @return void + */ + function _exception_handler($exception) + { + $_error =& load_class('Exceptions', 'core'); + $_error->log_exception('error', 'Exception: '.$exception->getMessage(), $exception->getFile(), $exception->getLine()); + + is_cli() OR set_status_header(500); + // Should we display the error? + if (str_ireplace(array('off', 'none', 'no', 'false', 'null'), '', ini_get('display_errors'))) + { + $_error->show_exception($exception); + } + + exit(1); // EXIT_ERROR + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('_shutdown_handler')) +{ + /** + * Shutdown Handler + * + * This is the shutdown handler that is declared at the top + * of CodeIgniter.php. The main reason we use this is to simulate + * a complete custom exception handler. + * + * E_STRICT is purposively neglected because such events may have + * been caught. Duplication or none? None is preferred for now. + * + * @link http://insomanic.me.uk/post/229851073/php-trick-catching-fatal-errors-e-error-with-a + * @return void + */ + function _shutdown_handler() + { + $last_error = error_get_last(); + if (isset($last_error) && + ($last_error['type'] & (E_ERROR | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING))) + { + _error_handler($last_error['type'], $last_error['message'], $last_error['file'], $last_error['line']); + } + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('remove_invisible_characters')) +{ + /** + * Remove Invisible Characters + * + * This prevents sandwiching null characters + * between ascii characters, like Java\0script. + * + * @param string + * @param bool + * @return string + */ + function remove_invisible_characters($str, $url_encoded = TRUE) + { + $non_displayables = array(); + + // every control character except newline (dec 10), + // carriage return (dec 13) and horizontal tab (dec 09) + if ($url_encoded) + { + $non_displayables[] = '/%0[0-8bcef]/i'; // url encoded 00-08, 11, 12, 14, 15 + $non_displayables[] = '/%1[0-9a-f]/i'; // url encoded 16-31 + $non_displayables[] = '/%7f/i'; // url encoded 127 + } + + $non_displayables[] = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S'; // 00-08, 11, 12, 14-31, 127 + + do + { + $str = preg_replace($non_displayables, '', $str, -1, $count); + } + while ($count); + + return $str; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('html_escape')) +{ + /** + * Returns HTML escaped variable. + * + * @param mixed $var The input string or array of strings to be escaped. + * @param bool $double_encode $double_encode set to FALSE prevents escaping twice. + * @return mixed The escaped string or array of strings as a result. + */ + function html_escape($var, $double_encode = TRUE) + { + if (empty($var)) + { + return $var; + } + + if (is_array($var)) + { + foreach (array_keys($var) as $key) + { + $var[$key] = html_escape($var[$key], $double_encode); + } + + return $var; + } + + return htmlspecialchars($var, ENT_QUOTES, config_item('charset'), $double_encode); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('_stringify_attributes')) +{ + /** + * Stringify attributes for use in HTML tags. + * + * Helper function used to convert a string, array, or object + * of attributes to a string. + * + * @param mixed string, array, object + * @param bool + * @return string + */ + function _stringify_attributes($attributes, $js = FALSE) + { + $atts = NULL; + + if (empty($attributes)) + { + return $atts; + } + + if (is_string($attributes)) + { + return ' '.$attributes; + } + + $attributes = (array) $attributes; + + foreach ($attributes as $key => $val) + { + $atts .= ($js) ? $key.'='.$val.',' : ' '.$key.'="'.$val.'"'; + } + + return rtrim($atts, ','); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('function_usable')) +{ + /** + * Function usable + * + * Executes a function_exists() check, and if the Suhosin PHP + * extension is loaded - checks whether the function that is + * checked might be disabled in there as well. + * + * This is useful as function_exists() will return FALSE for + * functions disabled via the *disable_functions* php.ini + * setting, but not for *suhosin.executor.func.blacklist* and + * *suhosin.executor.disable_eval*. These settings will just + * terminate script execution if a disabled function is executed. + * + * The above described behavior turned out to be a bug in Suhosin, + * but even though a fix was committed for 0.9.34 on 2012-02-12, + * that version is yet to be released. This function will therefore + * be just temporary, but would probably be kept for a few years. + * + * @link http://www.hardened-php.net/suhosin/ + * @param string $function_name Function to check for + * @return bool TRUE if the function exists and is safe to call, + * FALSE otherwise. + */ + function function_usable($function_name) + { + static $_suhosin_func_blacklist; + + if (function_exists($function_name)) + { + if ( ! isset($_suhosin_func_blacklist)) + { + $_suhosin_func_blacklist = extension_loaded('suhosin') + ? explode(',', trim(ini_get('suhosin.executor.func.blacklist'))) + : array(); + } + + return ! in_array($function_name, $_suhosin_func_blacklist, TRUE); + } + + return FALSE; + } +} diff --git a/system/core/Config.php b/system/core/Config.php new file mode 100644 index 0000000..8136dd2 --- /dev/null +++ b/system/core/Config.php @@ -0,0 +1,379 @@ +config =& get_config(); + + // Set the base_url automatically if none was provided + if (empty($this->config['base_url'])) + { + if (isset($_SERVER['SERVER_ADDR'])) + { + if (strpos($_SERVER['SERVER_ADDR'], ':') !== FALSE) + { + $server_addr = '['.$_SERVER['SERVER_ADDR'].']'; + } + else + { + $server_addr = $_SERVER['SERVER_ADDR']; + } + + $base_url = (is_https() ? 'https' : 'http').'://'.$server_addr + .substr($_SERVER['SCRIPT_NAME'], 0, strpos($_SERVER['SCRIPT_NAME'], basename($_SERVER['SCRIPT_FILENAME']))); + } + else + { + $base_url = 'http://localhost/'; + } + + $this->set_item('base_url', $base_url); + } + + log_message('info', 'Config Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Load Config File + * + * @param string $file Configuration file name + * @param bool $use_sections Whether configuration values should be loaded into their own section + * @param bool $fail_gracefully Whether to just return FALSE or display an error message + * @return bool TRUE if the file was loaded correctly or FALSE on failure + */ + public function load($file = '', $use_sections = FALSE, $fail_gracefully = FALSE) + { + $file = ($file === '') ? 'config' : str_replace('.php', '', $file); + $loaded = FALSE; + + foreach ($this->_config_paths as $path) + { + foreach (array($file, ENVIRONMENT.DIRECTORY_SEPARATOR.$file) as $location) + { + $file_path = $path.'config/'.$location.'.php'; + if (in_array($file_path, $this->is_loaded, TRUE)) + { + return TRUE; + } + + if ( ! file_exists($file_path)) + { + continue; + } + + include($file_path); + + if ( ! isset($config) OR ! is_array($config)) + { + if ($fail_gracefully === TRUE) + { + return FALSE; + } + + show_error('Your '.$file_path.' file does not appear to contain a valid configuration array.'); + } + + if ($use_sections === TRUE) + { + $this->config[$file] = isset($this->config[$file]) + ? array_merge($this->config[$file], $config) + : $config; + } + else + { + $this->config = array_merge($this->config, $config); + } + + $this->is_loaded[] = $file_path; + $config = NULL; + $loaded = TRUE; + log_message('debug', 'Config file loaded: '.$file_path); + } + } + + if ($loaded === TRUE) + { + return TRUE; + } + elseif ($fail_gracefully === TRUE) + { + return FALSE; + } + + show_error('The configuration file '.$file.'.php does not exist.'); + } + + // -------------------------------------------------------------------- + + /** + * Fetch a config file item + * + * @param string $item Config item name + * @param string $index Index name + * @return string|null The configuration item or NULL if the item doesn't exist + */ + public function item($item, $index = '') + { + if ($index == '') + { + return isset($this->config[$item]) ? $this->config[$item] : NULL; + } + + return isset($this->config[$index], $this->config[$index][$item]) ? $this->config[$index][$item] : NULL; + } + + // -------------------------------------------------------------------- + + /** + * Fetch a config file item with slash appended (if not empty) + * + * @param string $item Config item name + * @return string|null The configuration item or NULL if the item doesn't exist + */ + public function slash_item($item) + { + if ( ! isset($this->config[$item])) + { + return NULL; + } + elseif (trim($this->config[$item]) === '') + { + return ''; + } + + return rtrim($this->config[$item], '/').'/'; + } + + // -------------------------------------------------------------------- + + /** + * Site URL + * + * Returns base_url . index_page [. uri_string] + * + * @uses CI_Config::_uri_string() + * + * @param string|string[] $uri URI string or an array of segments + * @param string $protocol + * @return string + */ + public function site_url($uri = '', $protocol = NULL) + { + $base_url = $this->slash_item('base_url'); + + if (isset($protocol)) + { + // For protocol-relative links + if ($protocol === '') + { + $base_url = substr($base_url, strpos($base_url, '//')); + } + else + { + $base_url = $protocol.substr($base_url, strpos($base_url, '://')); + } + } + + if (empty($uri)) + { + return $base_url.$this->item('index_page'); + } + + $uri = $this->_uri_string($uri); + + if ($this->item('enable_query_strings') === FALSE) + { + $suffix = isset($this->config['url_suffix']) ? $this->config['url_suffix'] : ''; + + if ($suffix !== '') + { + if (($offset = strpos($uri, '?')) !== FALSE) + { + $uri = substr($uri, 0, $offset).$suffix.substr($uri, $offset); + } + else + { + $uri .= $suffix; + } + } + + return $base_url.$this->slash_item('index_page').$uri; + } + elseif (strpos($uri, '?') === FALSE) + { + $uri = '?'.$uri; + } + + return $base_url.$this->item('index_page').$uri; + } + + // ------------------------------------------------------------- + + /** + * Base URL + * + * Returns base_url [. uri_string] + * + * @uses CI_Config::_uri_string() + * + * @param string|string[] $uri URI string or an array of segments + * @param string $protocol + * @return string + */ + public function base_url($uri = '', $protocol = NULL) + { + $base_url = $this->slash_item('base_url'); + + if (isset($protocol)) + { + // For protocol-relative links + if ($protocol === '') + { + $base_url = substr($base_url, strpos($base_url, '//')); + } + else + { + $base_url = $protocol.substr($base_url, strpos($base_url, '://')); + } + } + + return $base_url.$this->_uri_string($uri); + } + + // ------------------------------------------------------------- + + /** + * Build URI string + * + * @used-by CI_Config::site_url() + * @used-by CI_Config::base_url() + * + * @param string|string[] $uri URI string or an array of segments + * @return string + */ + protected function _uri_string($uri) + { + if ($this->item('enable_query_strings') === FALSE) + { + is_array($uri) && $uri = implode('/', $uri); + return ltrim($uri, '/'); + } + elseif (is_array($uri)) + { + return http_build_query($uri); + } + + return $uri; + } + + // -------------------------------------------------------------------- + + /** + * System URL + * + * @deprecated 3.0.0 Encourages insecure practices + * @return string + */ + public function system_url() + { + $x = explode('/', preg_replace('|/*(.+?)/*$|', '\\1', BASEPATH)); + return $this->slash_item('base_url').end($x).'/'; + } + + // -------------------------------------------------------------------- + + /** + * Set a config file item + * + * @param string $item Config item key + * @param string $value Config item value + * @return void + */ + public function set_item($item, $value) + { + $this->config[$item] = $value; + } + +} diff --git a/system/core/Controller.php b/system/core/Controller.php new file mode 100644 index 0000000..ec9aa2a --- /dev/null +++ b/system/core/Controller.php @@ -0,0 +1,96 @@ + $class) + { + $this->$var =& load_class($class); + } + + $this->load =& load_class('Loader', 'core'); + $this->load->initialize(); + log_message('info', 'Controller Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Get the CI singleton + * + * @static + * @return object + */ + public static function &get_instance() + { + return self::$instance; + } + +} diff --git a/system/core/Exceptions.php b/system/core/Exceptions.php new file mode 100644 index 0000000..5a78376 --- /dev/null +++ b/system/core/Exceptions.php @@ -0,0 +1,274 @@ + 'Error', + E_WARNING => 'Warning', + E_PARSE => 'Parsing Error', + E_NOTICE => 'Notice', + E_CORE_ERROR => 'Core Error', + E_CORE_WARNING => 'Core Warning', + E_COMPILE_ERROR => 'Compile Error', + E_COMPILE_WARNING => 'Compile Warning', + E_USER_ERROR => 'User Error', + E_USER_WARNING => 'User Warning', + E_USER_NOTICE => 'User Notice', + E_STRICT => 'Runtime Notice' + ); + + /** + * Class constructor + * + * @return void + */ + public function __construct() + { + $this->ob_level = ob_get_level(); + // Note: Do not log messages from this constructor. + } + + // -------------------------------------------------------------------- + + /** + * Exception Logger + * + * Logs PHP generated error messages + * + * @param int $severity Log level + * @param string $message Error message + * @param string $filepath File path + * @param int $line Line number + * @return void + */ + public function log_exception($severity, $message, $filepath, $line) + { + $severity = isset($this->levels[$severity]) ? $this->levels[$severity] : $severity; + log_message('error', 'Severity: '.$severity.' --> '.$message.' '.$filepath.' '.$line); + } + + // -------------------------------------------------------------------- + + /** + * 404 Error Handler + * + * @uses CI_Exceptions::show_error() + * + * @param string $page Page URI + * @param bool $log_error Whether to log the error + * @return void + */ + public function show_404($page = '', $log_error = TRUE) + { + if (is_cli()) + { + $heading = 'Not Found'; + $message = 'The controller/method pair you requested was not found.'; + } + else + { + $heading = '404 Page Not Found'; + $message = 'The page you requested was not found.'; + } + + // By default we log this, but allow a dev to skip it + if ($log_error) + { + log_message('error', $heading.': '.$page); + } + + echo $this->show_error($heading, $message, 'error_404', 404); + exit(4); // EXIT_UNKNOWN_FILE + } + + // -------------------------------------------------------------------- + + /** + * General Error Page + * + * Takes an error message as input (either as a string or an array) + * and displays it using the specified template. + * + * @param string $heading Page heading + * @param string|string[] $message Error message + * @param string $template Template name + * @param int $status_code (default: 500) + * + * @return string Error page output + */ + public function show_error($heading, $message, $template = 'error_general', $status_code = 500) + { + $templates_path = config_item('error_views_path'); + if (empty($templates_path)) + { + $templates_path = VIEWPATH.'errors'.DIRECTORY_SEPARATOR; + } + + if (is_cli()) + { + $message = "\t".(is_array($message) ? implode("\n\t", $message) : $message); + $template = 'cli'.DIRECTORY_SEPARATOR.$template; + } + else + { + set_status_header($status_code); + $message = '

    '.(is_array($message) ? implode('

    ', $message) : $message).'

    '; + $template = 'html'.DIRECTORY_SEPARATOR.$template; + } + + if (ob_get_level() > $this->ob_level + 1) + { + ob_end_flush(); + } + ob_start(); + include($templates_path.$template.'.php'); + $buffer = ob_get_contents(); + ob_end_clean(); + return $buffer; + } + + // -------------------------------------------------------------------- + + public function show_exception($exception) + { + $templates_path = config_item('error_views_path'); + if (empty($templates_path)) + { + $templates_path = VIEWPATH.'errors'.DIRECTORY_SEPARATOR; + } + + $message = $exception->getMessage(); + if (empty($message)) + { + $message = '(null)'; + } + + if (is_cli()) + { + $templates_path .= 'cli'.DIRECTORY_SEPARATOR; + } + else + { + $templates_path .= 'html'.DIRECTORY_SEPARATOR; + } + + if (ob_get_level() > $this->ob_level + 1) + { + ob_end_flush(); + } + + ob_start(); + include($templates_path.'error_exception.php'); + $buffer = ob_get_contents(); + ob_end_clean(); + echo $buffer; + } + + // -------------------------------------------------------------------- + + /** + * Native PHP error handler + * + * @param int $severity Error level + * @param string $message Error message + * @param string $filepath File path + * @param int $line Line number + * @return void + */ + public function show_php_error($severity, $message, $filepath, $line) + { + $templates_path = config_item('error_views_path'); + if (empty($templates_path)) + { + $templates_path = VIEWPATH.'errors'.DIRECTORY_SEPARATOR; + } + + $severity = isset($this->levels[$severity]) ? $this->levels[$severity] : $severity; + + // For safety reasons we don't show the full file path in non-CLI requests + if ( ! is_cli()) + { + $filepath = str_replace('\\', '/', $filepath); + if (FALSE !== strpos($filepath, '/')) + { + $x = explode('/', $filepath); + $filepath = $x[count($x)-2].'/'.end($x); + } + + $template = 'html'.DIRECTORY_SEPARATOR.'error_php'; + } + else + { + $template = 'cli'.DIRECTORY_SEPARATOR.'error_php'; + } + + if (ob_get_level() > $this->ob_level + 1) + { + ob_end_flush(); + } + ob_start(); + include($templates_path.$template.'.php'); + $buffer = ob_get_contents(); + ob_end_clean(); + echo $buffer; + } + +} diff --git a/system/core/Hooks.php b/system/core/Hooks.php new file mode 100644 index 0000000..82c68b1 --- /dev/null +++ b/system/core/Hooks.php @@ -0,0 +1,266 @@ +item('enable_hooks') === FALSE) + { + return; + } + + // Grab the "hooks" definition file. + if (file_exists(APPPATH.'config/hooks.php')) + { + include(APPPATH.'config/hooks.php'); + } + + if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/hooks.php')) + { + include(APPPATH.'config/'.ENVIRONMENT.'/hooks.php'); + } + + // If there are no hooks, we're done. + if ( ! isset($hook) OR ! is_array($hook)) + { + return; + } + + $this->hooks =& $hook; + $this->enabled = TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Call Hook + * + * Calls a particular hook. Called by CodeIgniter.php. + * + * @uses CI_Hooks::_run_hook() + * + * @param string $which Hook name + * @return bool TRUE on success or FALSE on failure + */ + public function call_hook($which = '') + { + if ( ! $this->enabled OR ! isset($this->hooks[$which])) + { + return FALSE; + } + + if (is_array($this->hooks[$which]) && ! isset($this->hooks[$which]['function'])) + { + foreach ($this->hooks[$which] as $val) + { + $this->_run_hook($val); + } + } + else + { + $this->_run_hook($this->hooks[$which]); + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Run Hook + * + * Runs a particular hook + * + * @param array $data Hook details + * @return bool TRUE on success or FALSE on failure + */ + protected function _run_hook($data) + { + // Closures/lambda functions and array($object, 'method') callables + if (is_callable($data)) + { + is_array($data) + ? $data[0]->{$data[1]}() + : $data(); + + return TRUE; + } + elseif ( ! is_array($data)) + { + return FALSE; + } + + // ----------------------------------- + // Safety - Prevents run-away loops + // ----------------------------------- + + // If the script being called happens to have the same + // hook call within it a loop can happen + if ($this->_in_progress === TRUE) + { + return; + } + + // ----------------------------------- + // Set file path + // ----------------------------------- + + if ( ! isset($data['filepath'], $data['filename'])) + { + return FALSE; + } + + $filepath = APPPATH.$data['filepath'].'/'.$data['filename']; + + if ( ! file_exists($filepath)) + { + return FALSE; + } + + // Determine and class and/or function names + $class = empty($data['class']) ? FALSE : $data['class']; + $function = empty($data['function']) ? FALSE : $data['function']; + $params = isset($data['params']) ? $data['params'] : ''; + + if (empty($function)) + { + return FALSE; + } + + // Set the _in_progress flag + $this->_in_progress = TRUE; + + // Call the requested class and/or function + if ($class !== FALSE) + { + // The object is stored? + if (isset($this->_objects[$class])) + { + if (method_exists($this->_objects[$class], $function)) + { + $this->_objects[$class]->$function($params); + } + else + { + return $this->_in_progress = FALSE; + } + } + else + { + class_exists($class, FALSE) OR require_once($filepath); + + if ( ! class_exists($class, FALSE) OR ! method_exists($class, $function)) + { + return $this->_in_progress = FALSE; + } + + // Store the object and execute the method + $this->_objects[$class] = new $class(); + $this->_objects[$class]->$function($params); + } + } + else + { + function_exists($function) OR require_once($filepath); + + if ( ! function_exists($function)) + { + return $this->_in_progress = FALSE; + } + + $function($params); + } + + $this->_in_progress = FALSE; + return TRUE; + } + +} diff --git a/system/core/Input.php b/system/core/Input.php new file mode 100644 index 0000000..143babf --- /dev/null +++ b/system/core/Input.php @@ -0,0 +1,895 @@ +_allow_get_array = (config_item('allow_get_array') !== FALSE); + $this->_enable_xss = (config_item('global_xss_filtering') === TRUE); + $this->_enable_csrf = (config_item('csrf_protection') === TRUE); + $this->_standardize_newlines = (bool) config_item('standardize_newlines'); + + $this->security =& load_class('Security', 'core'); + + // Do we need the UTF-8 class? + if (UTF8_ENABLED === TRUE) + { + $this->uni =& load_class('Utf8', 'core'); + } + + // Sanitize global arrays + $this->_sanitize_globals(); + + // CSRF Protection check + if ($this->_enable_csrf === TRUE && ! is_cli()) + { + $this->security->csrf_verify(); + } + + log_message('info', 'Input Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Fetch from array + * + * Internal method used to retrieve values from global arrays. + * + * @param array &$array $_GET, $_POST, $_COOKIE, $_SERVER, etc. + * @param mixed $index Index for item to be fetched from $array + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + protected function _fetch_from_array(&$array, $index = NULL, $xss_clean = NULL) + { + is_bool($xss_clean) OR $xss_clean = $this->_enable_xss; + + // If $index is NULL, it means that the whole $array is requested + isset($index) OR $index = array_keys($array); + + // allow fetching multiple keys at once + if (is_array($index)) + { + $output = array(); + foreach ($index as $key) + { + $output[$key] = $this->_fetch_from_array($array, $key, $xss_clean); + } + + return $output; + } + + if (isset($array[$index])) + { + $value = $array[$index]; + } + elseif (($count = preg_match_all('/(?:^[^\[]+)|\[[^]]*\]/', $index, $matches)) > 1) // Does the index contain array notation + { + $value = $array; + for ($i = 0; $i < $count; $i++) + { + $key = trim($matches[0][$i], '[]'); + if ($key === '') // Empty notation will return the value as array + { + break; + } + + if (isset($value[$key])) + { + $value = $value[$key]; + } + else + { + return NULL; + } + } + } + else + { + return NULL; + } + + return ($xss_clean === TRUE) + ? $this->security->xss_clean($value) + : $value; + } + + // -------------------------------------------------------------------- + + /** + * Fetch an item from the GET array + * + * @param mixed $index Index for item to be fetched from $_GET + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + public function get($index = NULL, $xss_clean = NULL) + { + return $this->_fetch_from_array($_GET, $index, $xss_clean); + } + + // -------------------------------------------------------------------- + + /** + * Fetch an item from the POST array + * + * @param mixed $index Index for item to be fetched from $_POST + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + public function post($index = NULL, $xss_clean = NULL) + { + return $this->_fetch_from_array($_POST, $index, $xss_clean); + } + + // -------------------------------------------------------------------- + + /** + * Fetch an item from POST data with fallback to GET + * + * @param string $index Index for item to be fetched from $_POST or $_GET + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + public function post_get($index, $xss_clean = NULL) + { + return isset($_POST[$index]) + ? $this->post($index, $xss_clean) + : $this->get($index, $xss_clean); + } + + // -------------------------------------------------------------------- + + /** + * Fetch an item from GET data with fallback to POST + * + * @param string $index Index for item to be fetched from $_GET or $_POST + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + public function get_post($index, $xss_clean = NULL) + { + return isset($_GET[$index]) + ? $this->get($index, $xss_clean) + : $this->post($index, $xss_clean); + } + + // -------------------------------------------------------------------- + + /** + * Fetch an item from the COOKIE array + * + * @param mixed $index Index for item to be fetched from $_COOKIE + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + public function cookie($index = NULL, $xss_clean = NULL) + { + return $this->_fetch_from_array($_COOKIE, $index, $xss_clean); + } + + // -------------------------------------------------------------------- + + /** + * Fetch an item from the SERVER array + * + * @param mixed $index Index for item to be fetched from $_SERVER + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + public function server($index, $xss_clean = NULL) + { + return $this->_fetch_from_array($_SERVER, $index, $xss_clean); + } + + // ------------------------------------------------------------------------ + + /** + * Fetch an item from the php://input stream + * + * Useful when you need to access PUT, DELETE or PATCH request data. + * + * @param string $index Index for item to be fetched + * @param bool $xss_clean Whether to apply XSS filtering + * @return mixed + */ + public function input_stream($index = NULL, $xss_clean = NULL) + { + // Prior to PHP 5.6, the input stream can only be read once, + // so we'll need to check if we have already done that first. + if ( ! is_array($this->_input_stream)) + { + // $this->raw_input_stream will trigger __get(). + parse_str($this->raw_input_stream, $this->_input_stream); + is_array($this->_input_stream) OR $this->_input_stream = array(); + } + + return $this->_fetch_from_array($this->_input_stream, $index, $xss_clean); + } + + // ------------------------------------------------------------------------ + + /** + * Set cookie + * + * Accepts an arbitrary number of parameters (up to 7) or an associative + * array in the first parameter containing all the values. + * + * @param string|mixed[] $name Cookie name or an array containing parameters + * @param string $value Cookie value + * @param int $expire Cookie expiration time in seconds + * @param string $domain Cookie domain (e.g.: '.yourdomain.com') + * @param string $path Cookie path (default: '/') + * @param string $prefix Cookie name prefix + * @param bool $secure Whether to only transfer cookies via SSL + * @param bool $httponly Whether to only makes the cookie accessible via HTTP (no javascript) + * @return void + */ + public function set_cookie($name, $value = '', $expire = '', $domain = '', $path = '/', $prefix = '', $secure = NULL, $httponly = NULL) + { + if (is_array($name)) + { + // always leave 'name' in last place, as the loop will break otherwise, due to $$item + foreach (array('value', 'expire', 'domain', 'path', 'prefix', 'secure', 'httponly', 'name') as $item) + { + if (isset($name[$item])) + { + $$item = $name[$item]; + } + } + } + + if ($prefix === '' && config_item('cookie_prefix') !== '') + { + $prefix = config_item('cookie_prefix'); + } + + if ($domain == '' && config_item('cookie_domain') != '') + { + $domain = config_item('cookie_domain'); + } + + if ($path === '/' && config_item('cookie_path') !== '/') + { + $path = config_item('cookie_path'); + } + + $secure = ($secure === NULL && config_item('cookie_secure') !== NULL) + ? (bool) config_item('cookie_secure') + : (bool) $secure; + + $httponly = ($httponly === NULL && config_item('cookie_httponly') !== NULL) + ? (bool) config_item('cookie_httponly') + : (bool) $httponly; + + if ( ! is_numeric($expire)) + { + $expire = time() - 86500; + } + else + { + $expire = ($expire > 0) ? time() + $expire : 0; + } + + setcookie($prefix.$name, $value, $expire, $path, $domain, $secure, $httponly); + } + + // -------------------------------------------------------------------- + + /** + * Fetch the IP Address + * + * Determines and validates the visitor's IP address. + * + * @return string IP address + */ + public function ip_address() + { + if ($this->ip_address !== FALSE) + { + return $this->ip_address; + } + + $proxy_ips = config_item('proxy_ips'); + if ( ! empty($proxy_ips) && ! is_array($proxy_ips)) + { + $proxy_ips = explode(',', str_replace(' ', '', $proxy_ips)); + } + + $this->ip_address = $this->server('REMOTE_ADDR'); + + if ($proxy_ips) + { + foreach (array('HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP', 'HTTP_X_CLIENT_IP', 'HTTP_X_CLUSTER_CLIENT_IP') as $header) + { + if (($spoof = $this->server($header)) !== NULL) + { + // Some proxies typically list the whole chain of IP + // addresses through which the client has reached us. + // e.g. client_ip, proxy_ip1, proxy_ip2, etc. + sscanf($spoof, '%[^,]', $spoof); + + if ( ! $this->valid_ip($spoof)) + { + $spoof = NULL; + } + else + { + break; + } + } + } + + if ($spoof) + { + for ($i = 0, $c = count($proxy_ips); $i < $c; $i++) + { + // Check if we have an IP address or a subnet + if (strpos($proxy_ips[$i], '/') === FALSE) + { + // An IP address (and not a subnet) is specified. + // We can compare right away. + if ($proxy_ips[$i] === $this->ip_address) + { + $this->ip_address = $spoof; + break; + } + + continue; + } + + // We have a subnet ... now the heavy lifting begins + isset($separator) OR $separator = $this->valid_ip($this->ip_address, 'ipv6') ? ':' : '.'; + + // If the proxy entry doesn't match the IP protocol - skip it + if (strpos($proxy_ips[$i], $separator) === FALSE) + { + continue; + } + + // Convert the REMOTE_ADDR IP address to binary, if needed + if ( ! isset($ip, $sprintf)) + { + if ($separator === ':') + { + // Make sure we're have the "full" IPv6 format + $ip = explode(':', + str_replace('::', + str_repeat(':', 9 - substr_count($this->ip_address, ':')), + $this->ip_address + ) + ); + + for ($j = 0; $j < 8; $j++) + { + $ip[$j] = intval($ip[$j], 16); + } + + $sprintf = '%016b%016b%016b%016b%016b%016b%016b%016b'; + } + else + { + $ip = explode('.', $this->ip_address); + $sprintf = '%08b%08b%08b%08b'; + } + + $ip = vsprintf($sprintf, $ip); + } + + // Split the netmask length off the network address + sscanf($proxy_ips[$i], '%[^/]/%d', $netaddr, $masklen); + + // Again, an IPv6 address is most likely in a compressed form + if ($separator === ':') + { + $netaddr = explode(':', str_replace('::', str_repeat(':', 9 - substr_count($netaddr, ':')), $netaddr)); + for ($j = 0; $j < 8; $j++) + { + $netaddr[$j] = intval($netaddr[$j], 16); + } + } + else + { + $netaddr = explode('.', $netaddr); + } + + // Convert to binary and finally compare + if (strncmp($ip, vsprintf($sprintf, $netaddr), $masklen) === 0) + { + $this->ip_address = $spoof; + break; + } + } + } + } + + if ( ! $this->valid_ip($this->ip_address)) + { + return $this->ip_address = '0.0.0.0'; + } + + return $this->ip_address; + } + + // -------------------------------------------------------------------- + + /** + * Validate IP Address + * + * @param string $ip IP address + * @param string $which IP protocol: 'ipv4' or 'ipv6' + * @return bool + */ + public function valid_ip($ip, $which = '') + { + switch (strtolower($which)) + { + case 'ipv4': + $which = FILTER_FLAG_IPV4; + break; + case 'ipv6': + $which = FILTER_FLAG_IPV6; + break; + default: + $which = NULL; + break; + } + + return (bool) filter_var($ip, FILTER_VALIDATE_IP, $which); + } + + // -------------------------------------------------------------------- + + /** + * Fetch User Agent string + * + * @return string|null User Agent string or NULL if it doesn't exist + */ + public function user_agent($xss_clean = NULL) + { + return $this->_fetch_from_array($_SERVER, 'HTTP_USER_AGENT', $xss_clean); + } + + // -------------------------------------------------------------------- + + /** + * Sanitize Globals + * + * Internal method serving for the following purposes: + * + * - Unsets $_GET data, if query strings are not enabled + * - Cleans POST, COOKIE and SERVER data + * - Standardizes newline characters to PHP_EOL + * + * @return void + */ + protected function _sanitize_globals() + { + // Is $_GET data allowed? If not we'll set the $_GET to an empty array + if ($this->_allow_get_array === FALSE) + { + $_GET = array(); + } + elseif (is_array($_GET)) + { + foreach ($_GET as $key => $val) + { + $_GET[$this->_clean_input_keys($key)] = $this->_clean_input_data($val); + } + } + + // Clean $_POST Data + if (is_array($_POST)) + { + foreach ($_POST as $key => $val) + { + $_POST[$this->_clean_input_keys($key)] = $this->_clean_input_data($val); + } + } + + // Clean $_COOKIE Data + if (is_array($_COOKIE)) + { + // Also get rid of specially treated cookies that might be set by a server + // or silly application, that are of no use to a CI application anyway + // but that when present will trip our 'Disallowed Key Characters' alarm + // http://www.ietf.org/rfc/rfc2109.txt + // note that the key names below are single quoted strings, and are not PHP variables + unset( + $_COOKIE['$Version'], + $_COOKIE['$Path'], + $_COOKIE['$Domain'] + ); + + foreach ($_COOKIE as $key => $val) + { + if (($cookie_key = $this->_clean_input_keys($key)) !== FALSE) + { + $_COOKIE[$cookie_key] = $this->_clean_input_data($val); + } + else + { + unset($_COOKIE[$key]); + } + } + } + + // Sanitize PHP_SELF + $_SERVER['PHP_SELF'] = strip_tags($_SERVER['PHP_SELF']); + + log_message('debug', 'Global POST, GET and COOKIE data sanitized'); + } + + // -------------------------------------------------------------------- + + /** + * Clean Input Data + * + * Internal method that aids in escaping data and + * standardizing newline characters to PHP_EOL. + * + * @param string|string[] $str Input string(s) + * @return string + */ + protected function _clean_input_data($str) + { + if (is_array($str)) + { + $new_array = array(); + foreach (array_keys($str) as $key) + { + $new_array[$this->_clean_input_keys($key)] = $this->_clean_input_data($str[$key]); + } + return $new_array; + } + + /* We strip slashes if magic quotes is on to keep things consistent + + NOTE: In PHP 5.4 get_magic_quotes_gpc() will always return 0 and + it will probably not exist in future versions at all. + */ + if ( ! is_php('5.4') && get_magic_quotes_gpc()) + { + $str = stripslashes($str); + } + + // Clean UTF-8 if supported + if (UTF8_ENABLED === TRUE) + { + $str = $this->uni->clean_string($str); + } + + // Remove control characters + $str = remove_invisible_characters($str, FALSE); + + // Standardize newlines if needed + if ($this->_standardize_newlines === TRUE) + { + return preg_replace('/(?:\r\n|[\r\n])/', PHP_EOL, $str); + } + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Clean Keys + * + * Internal method that helps to prevent malicious users + * from trying to exploit keys we make sure that keys are + * only named with alpha-numeric text and a few other items. + * + * @param string $str Input string + * @param bool $fatal Whether to terminate script exection + * or to return FALSE if an invalid + * key is encountered + * @return string|bool + */ + protected function _clean_input_keys($str, $fatal = TRUE) + { + if ( ! preg_match('/^[a-z0-9:_\/|-]+$/i', $str)) + { + if ($fatal === TRUE) + { + return FALSE; + } + else + { + set_status_header(503); + echo 'Disallowed Key Characters.'; + exit(7); // EXIT_USER_INPUT + } + } + + // Clean UTF-8 if supported + if (UTF8_ENABLED === TRUE) + { + return $this->uni->clean_string($str); + } + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Request Headers + * + * @param bool $xss_clean Whether to apply XSS filtering + * @return array + */ + public function request_headers($xss_clean = FALSE) + { + // If header is already defined, return it immediately + if ( ! empty($this->headers)) + { + return $this->_fetch_from_array($this->headers, NULL, $xss_clean); + } + + // In Apache, you can simply call apache_request_headers() + if (function_exists('apache_request_headers')) + { + $this->headers = apache_request_headers(); + } + else + { + isset($_SERVER['CONTENT_TYPE']) && $this->headers['Content-Type'] = $_SERVER['CONTENT_TYPE']; + + foreach ($_SERVER as $key => $val) + { + if (sscanf($key, 'HTTP_%s', $header) === 1) + { + // take SOME_HEADER and turn it into Some-Header + $header = str_replace('_', ' ', strtolower($header)); + $header = str_replace(' ', '-', ucwords($header)); + + $this->headers[$header] = $_SERVER[$key]; + } + } + } + + return $this->_fetch_from_array($this->headers, NULL, $xss_clean); + } + + // -------------------------------------------------------------------- + + /** + * Get Request Header + * + * Returns the value of a single member of the headers class member + * + * @param string $index Header name + * @param bool $xss_clean Whether to apply XSS filtering + * @return string|null The requested header on success or NULL on failure + */ + public function get_request_header($index, $xss_clean = FALSE) + { + static $headers; + + if ( ! isset($headers)) + { + empty($this->headers) && $this->request_headers(); + foreach ($this->headers as $key => $value) + { + $headers[strtolower($key)] = $value; + } + } + + $index = strtolower($index); + + if ( ! isset($headers[$index])) + { + return NULL; + } + + return ($xss_clean === TRUE) + ? $this->security->xss_clean($headers[$index]) + : $headers[$index]; + } + + // -------------------------------------------------------------------- + + /** + * Is AJAX request? + * + * Test to see if a request contains the HTTP_X_REQUESTED_WITH header. + * + * @return bool + */ + public function is_ajax_request() + { + return ( ! empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'); + } + + // -------------------------------------------------------------------- + + /** + * Is CLI request? + * + * Test to see if a request was made from the command line. + * + * @deprecated 3.0.0 Use is_cli() instead + * @return bool + */ + public function is_cli_request() + { + return is_cli(); + } + + // -------------------------------------------------------------------- + + /** + * Get Request Method + * + * Return the request method + * + * @param bool $upper Whether to return in upper or lower case + * (default: FALSE) + * @return string + */ + public function method($upper = FALSE) + { + return ($upper) + ? strtoupper($this->server('REQUEST_METHOD')) + : strtolower($this->server('REQUEST_METHOD')); + } + + // ------------------------------------------------------------------------ + + /** + * Magic __get() + * + * Allows read access to protected properties + * + * @param string $name + * @return mixed + */ + public function __get($name) + { + if ($name === 'raw_input_stream') + { + isset($this->_raw_input_stream) OR $this->_raw_input_stream = file_get_contents('php://input'); + return $this->_raw_input_stream; + } + elseif ($name === 'ip_address') + { + return $this->ip_address; + } + } + +} diff --git a/system/core/Lang.php b/system/core/Lang.php new file mode 100644 index 0000000..39fdd06 --- /dev/null +++ b/system/core/Lang.php @@ -0,0 +1,203 @@ +load($value, $idiom, $return, $add_suffix, $alt_path); + } + + return; + } + + $langfile = str_replace('.php', '', $langfile); + + if ($add_suffix === TRUE) + { + $langfile = preg_replace('/_lang$/', '', $langfile).'_lang'; + } + + $langfile .= '.php'; + + if (empty($idiom) OR ! preg_match('/^[a-z_-]+$/i', $idiom)) + { + $config =& get_config(); + $idiom = empty($config['language']) ? 'english' : $config['language']; + } + + if ($return === FALSE && isset($this->is_loaded[$langfile]) && $this->is_loaded[$langfile] === $idiom) + { + return; + } + + // Load the base file, so any others found can override it + $basepath = BASEPATH.'language/'.$idiom.'/'.$langfile; + if (($found = file_exists($basepath)) === TRUE) + { + include($basepath); + } + + // Do we have an alternative path to look in? + if ($alt_path !== '') + { + $alt_path .= 'language/'.$idiom.'/'.$langfile; + if (file_exists($alt_path)) + { + include($alt_path); + $found = TRUE; + } + } + else + { + foreach (get_instance()->load->get_package_paths(TRUE) as $package_path) + { + $package_path .= 'language/'.$idiom.'/'.$langfile; + if ($basepath !== $package_path && file_exists($package_path)) + { + include($package_path); + $found = TRUE; + break; + } + } + } + + if ($found !== TRUE) + { + show_error('Unable to load the requested language file: language/'.$idiom.'/'.$langfile); + } + + if ( ! isset($lang) OR ! is_array($lang)) + { + log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile); + + if ($return === TRUE) + { + return array(); + } + return; + } + + if ($return === TRUE) + { + return $lang; + } + + $this->is_loaded[$langfile] = $idiom; + $this->language = array_merge($this->language, $lang); + + log_message('info', 'Language file loaded: language/'.$idiom.'/'.$langfile); + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Language line + * + * Fetches a single line of text from the language array + * + * @param string $line Language line key + * @param bool $log_errors Whether to log an error message if the line is not found + * @return string Translation + */ + public function line($line, $log_errors = TRUE) + { + $value = isset($this->language[$line]) ? $this->language[$line] : FALSE; + + // Because killer robots like unicorns! + if ($value === FALSE && $log_errors === TRUE) + { + log_message('error', 'Could not find the language line "'.$line.'"'); + } + + return $value; + } + +} diff --git a/system/core/Loader.php b/system/core/Loader.php new file mode 100644 index 0000000..c84aff3 --- /dev/null +++ b/system/core/Loader.php @@ -0,0 +1,1415 @@ + TRUE); + + /** + * List of paths to load libraries from + * + * @var array + */ + protected $_ci_library_paths = array(APPPATH, BASEPATH); + + /** + * List of paths to load models from + * + * @var array + */ + protected $_ci_model_paths = array(APPPATH); + + /** + * List of paths to load helpers from + * + * @var array + */ + protected $_ci_helper_paths = array(APPPATH, BASEPATH); + + /** + * List of cached variables + * + * @var array + */ + protected $_ci_cached_vars = array(); + + /** + * List of loaded classes + * + * @var array + */ + protected $_ci_classes = array(); + + /** + * List of loaded models + * + * @var array + */ + protected $_ci_models = array(); + + /** + * List of loaded helpers + * + * @var array + */ + protected $_ci_helpers = array(); + + /** + * List of class name mappings + * + * @var array + */ + protected $_ci_varmap = array( + 'unit_test' => 'unit', + 'user_agent' => 'agent' + ); + + // -------------------------------------------------------------------- + + /** + * Class constructor + * + * Sets component load paths, gets the initial output buffering level. + * + * @return void + */ + public function __construct() + { + $this->_ci_ob_level = ob_get_level(); + $this->_ci_classes =& is_loaded(); + + log_message('info', 'Loader Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Initializer + * + * @todo Figure out a way to move this to the constructor + * without breaking *package_path*() methods. + * @uses CI_Loader::_ci_autoloader() + * @used-by CI_Controller::__construct() + * @return void + */ + public function initialize() + { + $this->_ci_autoloader(); + } + + // -------------------------------------------------------------------- + + /** + * Is Loaded + * + * A utility method to test if a class is in the self::$_ci_classes array. + * + * @used-by Mainly used by Form Helper function _get_validation_object(). + * + * @param string $class Class name to check for + * @return string|bool Class object name if loaded or FALSE + */ + public function is_loaded($class) + { + return array_search(ucfirst($class), $this->_ci_classes, TRUE); + } + + // -------------------------------------------------------------------- + + /** + * Library Loader + * + * Loads and instantiates libraries. + * Designed to be called from application controllers. + * + * @param mixed $library Library name + * @param array $params Optional parameters to pass to the library class constructor + * @param string $object_name An optional object name to assign to + * @return object + */ + public function library($library, $params = NULL, $object_name = NULL) + { + if (empty($library)) + { + return $this; + } + elseif (is_array($library)) + { + foreach ($library as $key => $value) + { + if (is_int($key)) + { + $this->library($value, $params); + } + else + { + $this->library($key, $params, $value); + } + } + + return $this; + } + + if ($params !== NULL && ! is_array($params)) + { + $params = NULL; + } + + $this->_ci_load_library($library, $params, $object_name); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Model Loader + * + * Loads and instantiates models. + * + * @param mixed $model Model name + * @param string $name An optional object name to assign to + * @param bool $db_conn An optional database connection configuration to initialize + * @return object + */ + public function model($model, $name = '', $db_conn = FALSE) + { + if (empty($model)) + { + return $this; + } + elseif (is_array($model)) + { + foreach ($model as $key => $value) + { + is_int($key) ? $this->model($value, '', $db_conn) : $this->model($key, $value, $db_conn); + } + + return $this; + } + + $path = ''; + + // Is the model in a sub-folder? If so, parse out the filename and path. + if (($last_slash = strrpos($model, '/')) !== FALSE) + { + // The path is in front of the last slash + $path = substr($model, 0, ++$last_slash); + + // And the model name behind it + $model = substr($model, $last_slash); + } + + if (empty($name)) + { + $name = $model; + } + + if (in_array($name, $this->_ci_models, TRUE)) + { + return $this; + } + + $CI =& get_instance(); + if (isset($CI->$name)) + { + throw new RuntimeException('The model name you are loading is the name of a resource that is already being used: '.$name); + } + + if ($db_conn !== FALSE && ! class_exists('CI_DB', FALSE)) + { + if ($db_conn === TRUE) + { + $db_conn = ''; + } + + $this->database($db_conn, FALSE, TRUE); + } + + // Note: All of the code under this condition used to be just: + // + // load_class('Model', 'core'); + // + // However, load_class() instantiates classes + // to cache them for later use and that prevents + // MY_Model from being an abstract class and is + // sub-optimal otherwise anyway. + if ( ! class_exists('CI_Model', FALSE)) + { + $app_path = APPPATH.'core'.DIRECTORY_SEPARATOR; + if (file_exists($app_path.'Model.php')) + { + require_once($app_path.'Model.php'); + if ( ! class_exists('CI_Model', FALSE)) + { + throw new RuntimeException($app_path."Model.php exists, but doesn't declare class CI_Model"); + } + + log_message('info', 'CI_Model class loaded'); + } + elseif ( ! class_exists('CI_Model', FALSE)) + { + require_once(BASEPATH.'core'.DIRECTORY_SEPARATOR.'Model.php'); + } + + $class = config_item('subclass_prefix').'Model'; + if (file_exists($app_path.$class.'.php')) + { + require_once($app_path.$class.'.php'); + if ( ! class_exists($class, FALSE)) + { + throw new RuntimeException($app_path.$class.".php exists, but doesn't declare class ".$class); + } + + log_message('info', config_item('subclass_prefix').'Model class loaded'); + } + } + + $model = ucfirst($model); + if ( ! class_exists($model, FALSE)) + { + foreach ($this->_ci_model_paths as $mod_path) + { + if ( ! file_exists($mod_path.'models/'.$path.$model.'.php')) + { + continue; + } + + require_once($mod_path.'models/'.$path.$model.'.php'); + if ( ! class_exists($model, FALSE)) + { + throw new RuntimeException($mod_path."models/".$path.$model.".php exists, but doesn't declare class ".$model); + } + + break; + } + + if ( ! class_exists($model, FALSE)) + { + throw new RuntimeException('Unable to locate the model you have specified: '.$model); + } + } + elseif ( ! is_subclass_of($model, 'CI_Model')) + { + throw new RuntimeException("Class ".$model." already exists and doesn't extend CI_Model"); + } + + $this->_ci_models[] = $name; + $model = new $model(); + $CI->$name = $model; + log_message('info', 'Model "'.get_class($model).'" initialized'); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Database Loader + * + * @param mixed $params Database configuration options + * @param bool $return Whether to return the database object + * @param bool $query_builder Whether to enable Query Builder + * (overrides the configuration setting) + * + * @return object|bool Database object if $return is set to TRUE, + * FALSE on failure, CI_Loader instance in any other case + */ + public function database($params = '', $return = FALSE, $query_builder = NULL) + { + // Grab the super object + $CI =& get_instance(); + + // Do we even need to load the database class? + if ($return === FALSE && $query_builder === NULL && isset($CI->db) && is_object($CI->db) && ! empty($CI->db->conn_id)) + { + return FALSE; + } + + require_once(BASEPATH.'database/DB.php'); + + if ($return === TRUE) + { + return DB($params, $query_builder); + } + + // Initialize the db variable. Needed to prevent + // reference errors with some configurations + $CI->db = ''; + + // Load the DB class + $CI->db =& DB($params, $query_builder); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Load the Database Utilities Class + * + * @param object $db Database object + * @param bool $return Whether to return the DB Utilities class object or not + * @return object + */ + public function dbutil($db = NULL, $return = FALSE) + { + $CI =& get_instance(); + + if ( ! is_object($db) OR ! ($db instanceof CI_DB)) + { + class_exists('CI_DB', FALSE) OR $this->database(); + $db =& $CI->db; + } + + require_once(BASEPATH.'database/DB_utility.php'); + require_once(BASEPATH.'database/drivers/'.$db->dbdriver.'/'.$db->dbdriver.'_utility.php'); + $class = 'CI_DB_'.$db->dbdriver.'_utility'; + + if ($return === TRUE) + { + return new $class($db); + } + + $CI->dbutil = new $class($db); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Load the Database Forge Class + * + * @param object $db Database object + * @param bool $return Whether to return the DB Forge class object or not + * @return object + */ + public function dbforge($db = NULL, $return = FALSE) + { + $CI =& get_instance(); + if ( ! is_object($db) OR ! ($db instanceof CI_DB)) + { + class_exists('CI_DB', FALSE) OR $this->database(); + $db =& $CI->db; + } + + require_once(BASEPATH.'database/DB_forge.php'); + require_once(BASEPATH.'database/drivers/'.$db->dbdriver.'/'.$db->dbdriver.'_forge.php'); + + if ( ! empty($db->subdriver)) + { + $driver_path = BASEPATH.'database/drivers/'.$db->dbdriver.'/subdrivers/'.$db->dbdriver.'_'.$db->subdriver.'_forge.php'; + if (file_exists($driver_path)) + { + require_once($driver_path); + $class = 'CI_DB_'.$db->dbdriver.'_'.$db->subdriver.'_forge'; + } + } + else + { + $class = 'CI_DB_'.$db->dbdriver.'_forge'; + } + + if ($return === TRUE) + { + return new $class($db); + } + + $CI->dbforge = new $class($db); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * View Loader + * + * Loads "view" files. + * + * @param string $view View name + * @param array $vars An associative array of data + * to be extracted for use in the view + * @param bool $return Whether to return the view output + * or leave it to the Output class + * @return object|string + */ + public function view($view, $vars = array(), $return = FALSE) + { + return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return)); + } + + // -------------------------------------------------------------------- + + /** + * Generic File Loader + * + * @param string $path File path + * @param bool $return Whether to return the file output + * @return object|string + */ + public function file($path, $return = FALSE) + { + return $this->_ci_load(array('_ci_path' => $path, '_ci_return' => $return)); + } + + // -------------------------------------------------------------------- + + /** + * Set Variables + * + * Once variables are set they become available within + * the controller class and its "view" files. + * + * @param array|object|string $vars + * An associative array or object containing values + * to be set, or a value's name if string + * @param string $val Value to set, only used if $vars is a string + * @return object + */ + public function vars($vars, $val = '') + { + $vars = is_string($vars) + ? array($vars => $val) + : $this->_ci_prepare_view_vars($vars); + + foreach ($vars as $key => $val) + { + $this->_ci_cached_vars[$key] = $val; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Clear Cached Variables + * + * Clears the cached variables. + * + * @return CI_Loader + */ + public function clear_vars() + { + $this->_ci_cached_vars = array(); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Get Variable + * + * Check if a variable is set and retrieve it. + * + * @param string $key Variable name + * @return mixed The variable or NULL if not found + */ + public function get_var($key) + { + return isset($this->_ci_cached_vars[$key]) ? $this->_ci_cached_vars[$key] : NULL; + } + + // -------------------------------------------------------------------- + + /** + * Get Variables + * + * Retrieves all loaded variables. + * + * @return array + */ + public function get_vars() + { + return $this->_ci_cached_vars; + } + + // -------------------------------------------------------------------- + + /** + * Helper Loader + * + * @param string|string[] $helpers Helper name(s) + * @return object + */ + public function helper($helpers = array()) + { + is_array($helpers) OR $helpers = array($helpers); + foreach ($helpers as &$helper) + { + $filename = basename($helper); + $filepath = ($filename === $helper) ? '' : substr($helper, 0, strlen($helper) - strlen($filename)); + $filename = strtolower(preg_replace('#(_helper)?(\.php)?$#i', '', $filename)).'_helper'; + $helper = $filepath.$filename; + + if (isset($this->_ci_helpers[$helper])) + { + continue; + } + + // Is this a helper extension request? + $ext_helper = config_item('subclass_prefix').$filename; + $ext_loaded = FALSE; + foreach ($this->_ci_helper_paths as $path) + { + if (file_exists($path.'helpers/'.$ext_helper.'.php')) + { + include_once($path.'helpers/'.$ext_helper.'.php'); + $ext_loaded = TRUE; + } + } + + // If we have loaded extensions - check if the base one is here + if ($ext_loaded === TRUE) + { + $base_helper = BASEPATH.'helpers/'.$helper.'.php'; + if ( ! file_exists($base_helper)) + { + show_error('Unable to load the requested file: helpers/'.$helper.'.php'); + } + + include_once($base_helper); + $this->_ci_helpers[$helper] = TRUE; + log_message('info', 'Helper loaded: '.$helper); + continue; + } + + // No extensions found ... try loading regular helpers and/or overrides + foreach ($this->_ci_helper_paths as $path) + { + if (file_exists($path.'helpers/'.$helper.'.php')) + { + include_once($path.'helpers/'.$helper.'.php'); + + $this->_ci_helpers[$helper] = TRUE; + log_message('info', 'Helper loaded: '.$helper); + break; + } + } + + // unable to load the helper + if ( ! isset($this->_ci_helpers[$helper])) + { + show_error('Unable to load the requested file: helpers/'.$helper.'.php'); + } + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Load Helpers + * + * An alias for the helper() method in case the developer has + * written the plural form of it. + * + * @uses CI_Loader::helper() + * @param string|string[] $helpers Helper name(s) + * @return object + */ + public function helpers($helpers = array()) + { + return $this->helper($helpers); + } + + // -------------------------------------------------------------------- + + /** + * Language Loader + * + * Loads language files. + * + * @param string|string[] $files List of language file names to load + * @param string Language name + * @return object + */ + public function language($files, $lang = '') + { + get_instance()->lang->load($files, $lang); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Config Loader + * + * Loads a config file (an alias for CI_Config::load()). + * + * @uses CI_Config::load() + * @param string $file Configuration file name + * @param bool $use_sections Whether configuration values should be loaded into their own section + * @param bool $fail_gracefully Whether to just return FALSE or display an error message + * @return bool TRUE if the file was loaded correctly or FALSE on failure + */ + public function config($file, $use_sections = FALSE, $fail_gracefully = FALSE) + { + return get_instance()->config->load($file, $use_sections, $fail_gracefully); + } + + // -------------------------------------------------------------------- + + /** + * Driver Loader + * + * Loads a driver library. + * + * @param string|string[] $library Driver name(s) + * @param array $params Optional parameters to pass to the driver + * @param string $object_name An optional object name to assign to + * + * @return object|bool Object or FALSE on failure if $library is a string + * and $object_name is set. CI_Loader instance otherwise. + */ + public function driver($library, $params = NULL, $object_name = NULL) + { + if (is_array($library)) + { + foreach ($library as $key => $value) + { + if (is_int($key)) + { + $this->driver($value, $params); + } + else + { + $this->driver($key, $params, $value); + } + } + + return $this; + } + elseif (empty($library)) + { + return FALSE; + } + + if ( ! class_exists('CI_Driver_Library', FALSE)) + { + // We aren't instantiating an object here, just making the base class available + require BASEPATH.'libraries/Driver.php'; + } + + // We can save the loader some time since Drivers will *always* be in a subfolder, + // and typically identically named to the library + if ( ! strpos($library, '/')) + { + $library = ucfirst($library).'/'.$library; + } + + return $this->library($library, $params, $object_name); + } + + // -------------------------------------------------------------------- + + /** + * Add Package Path + * + * Prepends a parent path to the library, model, helper and config + * path arrays. + * + * @see CI_Loader::$_ci_library_paths + * @see CI_Loader::$_ci_model_paths + * @see CI_Loader::$_ci_helper_paths + * @see CI_Config::$_config_paths + * + * @param string $path Path to add + * @param bool $view_cascade (default: TRUE) + * @return object + */ + public function add_package_path($path, $view_cascade = TRUE) + { + $path = rtrim($path, '/').'/'; + + array_unshift($this->_ci_library_paths, $path); + array_unshift($this->_ci_model_paths, $path); + array_unshift($this->_ci_helper_paths, $path); + + $this->_ci_view_paths = array($path.'views/' => $view_cascade) + $this->_ci_view_paths; + + // Add config file path + $config =& $this->_ci_get_component('config'); + $config->_config_paths[] = $path; + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Get Package Paths + * + * Return a list of all package paths. + * + * @param bool $include_base Whether to include BASEPATH (default: FALSE) + * @return array + */ + public function get_package_paths($include_base = FALSE) + { + return ($include_base === TRUE) ? $this->_ci_library_paths : $this->_ci_model_paths; + } + + // -------------------------------------------------------------------- + + /** + * Remove Package Path + * + * Remove a path from the library, model, helper and/or config + * path arrays if it exists. If no path is provided, the most recently + * added path will be removed removed. + * + * @param string $path Path to remove + * @return object + */ + public function remove_package_path($path = '') + { + $config =& $this->_ci_get_component('config'); + + if ($path === '') + { + array_shift($this->_ci_library_paths); + array_shift($this->_ci_model_paths); + array_shift($this->_ci_helper_paths); + array_shift($this->_ci_view_paths); + array_pop($config->_config_paths); + } + else + { + $path = rtrim($path, '/').'/'; + foreach (array('_ci_library_paths', '_ci_model_paths', '_ci_helper_paths') as $var) + { + if (($key = array_search($path, $this->{$var})) !== FALSE) + { + unset($this->{$var}[$key]); + } + } + + if (isset($this->_ci_view_paths[$path.'views/'])) + { + unset($this->_ci_view_paths[$path.'views/']); + } + + if (($key = array_search($path, $config->_config_paths)) !== FALSE) + { + unset($config->_config_paths[$key]); + } + } + + // make sure the application default paths are still in the array + $this->_ci_library_paths = array_unique(array_merge($this->_ci_library_paths, array(APPPATH, BASEPATH))); + $this->_ci_helper_paths = array_unique(array_merge($this->_ci_helper_paths, array(APPPATH, BASEPATH))); + $this->_ci_model_paths = array_unique(array_merge($this->_ci_model_paths, array(APPPATH))); + $this->_ci_view_paths = array_merge($this->_ci_view_paths, array(APPPATH.'views/' => TRUE)); + $config->_config_paths = array_unique(array_merge($config->_config_paths, array(APPPATH))); + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Internal CI Data Loader + * + * Used to load views and files. + * + * Variables are prefixed with _ci_ to avoid symbol collision with + * variables made available to view files. + * + * @used-by CI_Loader::view() + * @used-by CI_Loader::file() + * @param array $_ci_data Data to load + * @return object + */ + protected function _ci_load($_ci_data) + { + // Set the default data variables + foreach (array('_ci_view', '_ci_vars', '_ci_path', '_ci_return') as $_ci_val) + { + $$_ci_val = isset($_ci_data[$_ci_val]) ? $_ci_data[$_ci_val] : FALSE; + } + + $file_exists = FALSE; + + // Set the path to the requested file + if (is_string($_ci_path) && $_ci_path !== '') + { + $_ci_x = explode('/', $_ci_path); + $_ci_file = end($_ci_x); + } + else + { + $_ci_ext = pathinfo($_ci_view, PATHINFO_EXTENSION); + $_ci_file = ($_ci_ext === '') ? $_ci_view.'.php' : $_ci_view; + + foreach ($this->_ci_view_paths as $_ci_view_file => $cascade) + { + if (file_exists($_ci_view_file.$_ci_file)) + { + $_ci_path = $_ci_view_file.$_ci_file; + $file_exists = TRUE; + break; + } + + if ( ! $cascade) + { + break; + } + } + } + + if ( ! $file_exists && ! file_exists($_ci_path)) + { + show_error('Unable to load the requested file: '.$_ci_file); + } + + // This allows anything loaded using $this->load (views, files, etc.) + // to become accessible from within the Controller and Model functions. + $_ci_CI =& get_instance(); + foreach (get_object_vars($_ci_CI) as $_ci_key => $_ci_var) + { + if ( ! isset($this->$_ci_key)) + { + $this->$_ci_key =& $_ci_CI->$_ci_key; + } + } + + /* + * Extract and cache variables + * + * You can either set variables using the dedicated $this->load->vars() + * function or via the second parameter of this function. We'll merge + * the two types and cache them so that views that are embedded within + * other views can have access to these variables. + */ + empty($_ci_vars) OR $this->_ci_cached_vars = array_merge($this->_ci_cached_vars, $_ci_vars); + extract($this->_ci_cached_vars); + + /* + * Buffer the output + * + * We buffer the output for two reasons: + * 1. Speed. You get a significant speed boost. + * 2. So that the final rendered template can be post-processed by + * the output class. Why do we need post processing? For one thing, + * in order to show the elapsed page load time. Unless we can + * intercept the content right before it's sent to the browser and + * then stop the timer it won't be accurate. + */ + ob_start(); + + // If the PHP installation does not support short tags we'll + // do a little string replacement, changing the short tags + // to standard PHP echo statements. + if ( ! is_php('5.4') && ! ini_get('short_open_tag') && config_item('rewrite_short_tags') === TRUE) + { + echo eval('?>'.preg_replace('/;*\s*\?>/', '; ?>', str_replace(' $this->_ci_ob_level + 1) + { + ob_end_flush(); + } + else + { + $_ci_CI->output->append_output(ob_get_contents()); + @ob_end_clean(); + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Internal CI Library Loader + * + * @used-by CI_Loader::library() + * @uses CI_Loader::_ci_init_library() + * + * @param string $class Class name to load + * @param mixed $params Optional parameters to pass to the class constructor + * @param string $object_name Optional object name to assign to + * @return void + */ + protected function _ci_load_library($class, $params = NULL, $object_name = NULL) + { + // Get the class name, and while we're at it trim any slashes. + // The directory path can be included as part of the class name, + // but we don't want a leading slash + $class = str_replace('.php', '', trim($class, '/')); + + // Was the path included with the class name? + // We look for a slash to determine this + if (($last_slash = strrpos($class, '/')) !== FALSE) + { + // Extract the path + $subdir = substr($class, 0, ++$last_slash); + + // Get the filename from the path + $class = substr($class, $last_slash); + } + else + { + $subdir = ''; + } + + $class = ucfirst($class); + + // Is this a stock library? There are a few special conditions if so ... + if (file_exists(BASEPATH.'libraries/'.$subdir.$class.'.php')) + { + return $this->_ci_load_stock_library($class, $subdir, $params, $object_name); + } + + // Safety: Was the class already loaded by a previous call? + if (class_exists($class, FALSE)) + { + $property = $object_name; + if (empty($property)) + { + $property = strtolower($class); + isset($this->_ci_varmap[$property]) && $property = $this->_ci_varmap[$property]; + } + + $CI =& get_instance(); + if (isset($CI->$property)) + { + log_message('debug', $class.' class already loaded. Second attempt ignored.'); + return; + } + + return $this->_ci_init_library($class, '', $params, $object_name); + } + + // Let's search for the requested library file and load it. + foreach ($this->_ci_library_paths as $path) + { + // BASEPATH has already been checked for + if ($path === BASEPATH) + { + continue; + } + + $filepath = $path.'libraries/'.$subdir.$class.'.php'; + // Does the file exist? No? Bummer... + if ( ! file_exists($filepath)) + { + continue; + } + + include_once($filepath); + return $this->_ci_init_library($class, '', $params, $object_name); + } + + // One last attempt. Maybe the library is in a subdirectory, but it wasn't specified? + if ($subdir === '') + { + return $this->_ci_load_library($class.'/'.$class, $params, $object_name); + } + + // If we got this far we were unable to find the requested class. + log_message('error', 'Unable to load the requested class: '.$class); + show_error('Unable to load the requested class: '.$class); + } + + // -------------------------------------------------------------------- + + /** + * Internal CI Stock Library Loader + * + * @used-by CI_Loader::_ci_load_library() + * @uses CI_Loader::_ci_init_library() + * + * @param string $library_name Library name to load + * @param string $file_path Path to the library filename, relative to libraries/ + * @param mixed $params Optional parameters to pass to the class constructor + * @param string $object_name Optional object name to assign to + * @return void + */ + protected function _ci_load_stock_library($library_name, $file_path, $params, $object_name) + { + $prefix = 'CI_'; + + if (class_exists($prefix.$library_name, FALSE)) + { + if (class_exists(config_item('subclass_prefix').$library_name, FALSE)) + { + $prefix = config_item('subclass_prefix'); + } + + $property = $object_name; + if (empty($property)) + { + $property = strtolower($library_name); + isset($this->_ci_varmap[$property]) && $property = $this->_ci_varmap[$property]; + } + + $CI =& get_instance(); + if ( ! isset($CI->$property)) + { + return $this->_ci_init_library($library_name, $prefix, $params, $object_name); + } + + log_message('debug', $library_name.' class already loaded. Second attempt ignored.'); + return; + } + + $paths = $this->_ci_library_paths; + array_pop($paths); // BASEPATH + array_pop($paths); // APPPATH (needs to be the first path checked) + array_unshift($paths, APPPATH); + + foreach ($paths as $path) + { + if (file_exists($path = $path.'libraries/'.$file_path.$library_name.'.php')) + { + // Override + include_once($path); + if (class_exists($prefix.$library_name, FALSE)) + { + return $this->_ci_init_library($library_name, $prefix, $params, $object_name); + } + + log_message('debug', $path.' exists, but does not declare '.$prefix.$library_name); + } + } + + include_once(BASEPATH.'libraries/'.$file_path.$library_name.'.php'); + + // Check for extensions + $subclass = config_item('subclass_prefix').$library_name; + foreach ($paths as $path) + { + if (file_exists($path = $path.'libraries/'.$file_path.$subclass.'.php')) + { + include_once($path); + if (class_exists($subclass, FALSE)) + { + $prefix = config_item('subclass_prefix'); + break; + } + + log_message('debug', $path.' exists, but does not declare '.$subclass); + } + } + + return $this->_ci_init_library($library_name, $prefix, $params, $object_name); + } + + // -------------------------------------------------------------------- + + /** + * Internal CI Library Instantiator + * + * @used-by CI_Loader::_ci_load_stock_library() + * @used-by CI_Loader::_ci_load_library() + * + * @param string $class Class name + * @param string $prefix Class name prefix + * @param array|null|bool $config Optional configuration to pass to the class constructor: + * FALSE to skip; + * NULL to search in config paths; + * array containing configuration data + * @param string $object_name Optional object name to assign to + * @return void + */ + protected function _ci_init_library($class, $prefix, $config = FALSE, $object_name = NULL) + { + // Is there an associated config file for this class? Note: these should always be lowercase + if ($config === NULL) + { + // Fetch the config paths containing any package paths + $config_component = $this->_ci_get_component('config'); + + if (is_array($config_component->_config_paths)) + { + $found = FALSE; + foreach ($config_component->_config_paths as $path) + { + // We test for both uppercase and lowercase, for servers that + // are case-sensitive with regard to file names. Load global first, + // override with environment next + if (file_exists($path.'config/'.strtolower($class).'.php')) + { + include($path.'config/'.strtolower($class).'.php'); + $found = TRUE; + } + elseif (file_exists($path.'config/'.ucfirst(strtolower($class)).'.php')) + { + include($path.'config/'.ucfirst(strtolower($class)).'.php'); + $found = TRUE; + } + + if (file_exists($path.'config/'.ENVIRONMENT.'/'.strtolower($class).'.php')) + { + include($path.'config/'.ENVIRONMENT.'/'.strtolower($class).'.php'); + $found = TRUE; + } + elseif (file_exists($path.'config/'.ENVIRONMENT.'/'.ucfirst(strtolower($class)).'.php')) + { + include($path.'config/'.ENVIRONMENT.'/'.ucfirst(strtolower($class)).'.php'); + $found = TRUE; + } + + // Break on the first found configuration, thus package + // files are not overridden by default paths + if ($found === TRUE) + { + break; + } + } + } + } + + $class_name = $prefix.$class; + + // Is the class name valid? + if ( ! class_exists($class_name, FALSE)) + { + log_message('error', 'Non-existent class: '.$class_name); + show_error('Non-existent class: '.$class_name); + } + + // Set the variable name we will assign the class to + // Was a custom class name supplied? If so we'll use it + if (empty($object_name)) + { + $object_name = strtolower($class); + if (isset($this->_ci_varmap[$object_name])) + { + $object_name = $this->_ci_varmap[$object_name]; + } + } + + // Don't overwrite existing properties + $CI =& get_instance(); + if (isset($CI->$object_name)) + { + if ($CI->$object_name instanceof $class_name) + { + log_message('debug', $class_name." has already been instantiated as '".$object_name."'. Second attempt aborted."); + return; + } + + show_error("Resource '".$object_name."' already exists and is not a ".$class_name." instance."); + } + + // Save the class name and object name + $this->_ci_classes[$object_name] = $class; + + // Instantiate the class + $CI->$object_name = isset($config) + ? new $class_name($config) + : new $class_name(); + } + + // -------------------------------------------------------------------- + + /** + * CI Autoloader + * + * Loads component listed in the config/autoload.php file. + * + * @used-by CI_Loader::initialize() + * @return void + */ + protected function _ci_autoloader() + { + if (file_exists(APPPATH.'config/autoload.php')) + { + include(APPPATH.'config/autoload.php'); + } + + if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/autoload.php')) + { + include(APPPATH.'config/'.ENVIRONMENT.'/autoload.php'); + } + + if ( ! isset($autoload)) + { + return; + } + + // Autoload packages + if (isset($autoload['packages'])) + { + foreach ($autoload['packages'] as $package_path) + { + $this->add_package_path($package_path); + } + } + + // Load any custom config file + if (count($autoload['config']) > 0) + { + foreach ($autoload['config'] as $val) + { + $this->config($val); + } + } + + // Autoload helpers and languages + foreach (array('helper', 'language') as $type) + { + if (isset($autoload[$type]) && count($autoload[$type]) > 0) + { + $this->$type($autoload[$type]); + } + } + + // Autoload drivers + if (isset($autoload['drivers'])) + { + $this->driver($autoload['drivers']); + } + + // Load libraries + if (isset($autoload['libraries']) && count($autoload['libraries']) > 0) + { + // Load the database driver. + if (in_array('database', $autoload['libraries'])) + { + $this->database(); + $autoload['libraries'] = array_diff($autoload['libraries'], array('database')); + } + + // Load all other libraries + $this->library($autoload['libraries']); + } + + // Autoload models + if (isset($autoload['model'])) + { + $this->model($autoload['model']); + } + } + + // -------------------------------------------------------------------- + + /** + * Prepare variables for _ci_vars, to be later extract()-ed inside views + * + * Converts objects to associative arrays and filters-out internal + * variable names (i.e. keys prefixed with '_ci_'). + * + * @param mixed $vars + * @return array + */ + protected function _ci_prepare_view_vars($vars) + { + if ( ! is_array($vars)) + { + $vars = is_object($vars) + ? get_object_vars($vars) + : array(); + } + + foreach (array_keys($vars) as $key) + { + if (strncmp($key, '_ci_', 4) === 0) + { + unset($vars[$key]); + } + } + + return $vars; + } + + // -------------------------------------------------------------------- + + /** + * CI Component getter + * + * Get a reference to a specific library or model. + * + * @param string $component Component name + * @return bool + */ + protected function &_ci_get_component($component) + { + $CI =& get_instance(); + return $CI->$component; + } +} diff --git a/system/core/Log.php b/system/core/Log.php new file mode 100644 index 0000000..a2b464c --- /dev/null +++ b/system/core/Log.php @@ -0,0 +1,296 @@ + 1, 'DEBUG' => 2, 'INFO' => 3, 'ALL' => 4); + + /** + * mbstring.func_overload flag + * + * @var bool + */ + protected static $func_overload; + + // -------------------------------------------------------------------- + + /** + * Class constructor + * + * @return void + */ + public function __construct() + { + $config =& get_config(); + + isset(self::$func_overload) OR self::$func_overload = (extension_loaded('mbstring') && ini_get('mbstring.func_overload')); + + $this->_log_path = ($config['log_path'] !== '') ? $config['log_path'] : APPPATH.'logs/'; + $this->_file_ext = (isset($config['log_file_extension']) && $config['log_file_extension'] !== '') + ? ltrim($config['log_file_extension'], '.') : 'php'; + + file_exists($this->_log_path) OR mkdir($this->_log_path, 0755, TRUE); + + if ( ! is_dir($this->_log_path) OR ! is_really_writable($this->_log_path)) + { + $this->_enabled = FALSE; + } + + if (is_numeric($config['log_threshold'])) + { + $this->_threshold = (int) $config['log_threshold']; + } + elseif (is_array($config['log_threshold'])) + { + $this->_threshold = 0; + $this->_threshold_array = array_flip($config['log_threshold']); + } + + if ( ! empty($config['log_date_format'])) + { + $this->_date_fmt = $config['log_date_format']; + } + + if ( ! empty($config['log_file_permissions']) && is_int($config['log_file_permissions'])) + { + $this->_file_permissions = $config['log_file_permissions']; + } + } + + // -------------------------------------------------------------------- + + /** + * Write Log File + * + * Generally this function will be called using the global log_message() function + * + * @param string $level The error level: 'error', 'debug' or 'info' + * @param string $msg The error message + * @return bool + */ + public function write_log($level, $msg) + { + if ($this->_enabled === FALSE) + { + return FALSE; + } + + $level = strtoupper($level); + + if (( ! isset($this->_levels[$level]) OR ($this->_levels[$level] > $this->_threshold)) + && ! isset($this->_threshold_array[$this->_levels[$level]])) + { + return FALSE; + } + + $filepath = $this->_log_path.'log-'.date('Y-m-d').'.'.$this->_file_ext; + $message = ''; + + if ( ! file_exists($filepath)) + { + $newfile = TRUE; + // Only add protection to php files + if ($this->_file_ext === 'php') + { + $message .= "\n\n"; + } + } + + if ( ! $fp = @fopen($filepath, 'ab')) + { + return FALSE; + } + + flock($fp, LOCK_EX); + + // Instantiating DateTime with microseconds appended to initial date is needed for proper support of this format + if (strpos($this->_date_fmt, 'u') !== FALSE) + { + $microtime_full = microtime(TRUE); + $microtime_short = sprintf("%06d", ($microtime_full - floor($microtime_full)) * 1000000); + $date = new DateTime(date('Y-m-d H:i:s.'.$microtime_short, $microtime_full)); + $date = $date->format($this->_date_fmt); + } + else + { + $date = date($this->_date_fmt); + } + + $message .= $this->_format_line($level, $date, $msg); + + for ($written = 0, $length = self::strlen($message); $written < $length; $written += $result) + { + if (($result = fwrite($fp, self::substr($message, $written))) === FALSE) + { + break; + } + } + + flock($fp, LOCK_UN); + fclose($fp); + + if (isset($newfile) && $newfile === TRUE) + { + chmod($filepath, $this->_file_permissions); + } + + return is_int($result); + } + + // -------------------------------------------------------------------- + + /** + * Format the log line. + * + * This is for extensibility of log formatting + * If you want to change the log format, extend the CI_Log class and override this method + * + * @param string $level The error level + * @param string $date Formatted date string + * @param string $message The log message + * @return string Formatted log line with a new line character '\n' at the end + */ + protected function _format_line($level, $date, $message) + { + return $level.' - '.$date.' --> '.$message."\n"; + } + + // -------------------------------------------------------------------- + + /** + * Byte-safe strlen() + * + * @param string $str + * @return int + */ + protected static function strlen($str) + { + return (self::$func_overload) + ? mb_strlen($str, '8bit') + : strlen($str); + } + + // -------------------------------------------------------------------- + + /** + * Byte-safe substr() + * + * @param string $str + * @param int $start + * @param int $length + * @return string + */ + protected static function substr($str, $start, $length = NULL) + { + if (self::$func_overload) + { + // mb_substr($str, $start, null, '8bit') returns an empty + // string on PHP 5.3 + isset($length) OR $length = ($start >= 0 ? self::strlen($str) - $start : -$start); + return mb_substr($str, $start, $length, '8bit'); + } + + return isset($length) + ? substr($str, $start, $length) + : substr($str, $start); + } +} diff --git a/system/core/Model.php b/system/core/Model.php new file mode 100644 index 0000000..dd11dd2 --- /dev/null +++ b/system/core/Model.php @@ -0,0 +1,76 @@ +$key; + } + +} diff --git a/system/core/Output.php b/system/core/Output.php new file mode 100644 index 0000000..3cda062 --- /dev/null +++ b/system/core/Output.php @@ -0,0 +1,842 @@ +_zlib_oc = (bool) ini_get('zlib.output_compression'); + $this->_compress_output = ( + $this->_zlib_oc === FALSE + && config_item('compress_output') === TRUE + && extension_loaded('zlib') + ); + + isset(self::$func_overload) OR self::$func_overload = (extension_loaded('mbstring') && ini_get('mbstring.func_overload')); + + // Get mime types for later + $this->mimes =& get_mimes(); + + log_message('info', 'Output Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Get Output + * + * Returns the current output string. + * + * @return string + */ + public function get_output() + { + return $this->final_output; + } + + // -------------------------------------------------------------------- + + /** + * Set Output + * + * Sets the output string. + * + * @param string $output Output data + * @return CI_Output + */ + public function set_output($output) + { + $this->final_output = $output; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Append Output + * + * Appends data onto the output string. + * + * @param string $output Data to append + * @return CI_Output + */ + public function append_output($output) + { + $this->final_output .= $output; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Header + * + * Lets you set a server header which will be sent with the final output. + * + * Note: If a file is cached, headers will not be sent. + * @todo We need to figure out how to permit headers to be cached. + * + * @param string $header Header + * @param bool $replace Whether to replace the old header value, if already set + * @return CI_Output + */ + public function set_header($header, $replace = TRUE) + { + // If zlib.output_compression is enabled it will compress the output, + // but it will not modify the content-length header to compensate for + // the reduction, causing the browser to hang waiting for more data. + // We'll just skip content-length in those cases. + if ($this->_zlib_oc && strncasecmp($header, 'content-length', 14) === 0) + { + return $this; + } + + $this->headers[] = array($header, $replace); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Content-Type Header + * + * @param string $mime_type Extension of the file we're outputting + * @param string $charset Character set (default: NULL) + * @return CI_Output + */ + public function set_content_type($mime_type, $charset = NULL) + { + if (strpos($mime_type, '/') === FALSE) + { + $extension = ltrim($mime_type, '.'); + + // Is this extension supported? + if (isset($this->mimes[$extension])) + { + $mime_type =& $this->mimes[$extension]; + + if (is_array($mime_type)) + { + $mime_type = current($mime_type); + } + } + } + + $this->mime_type = $mime_type; + + if (empty($charset)) + { + $charset = config_item('charset'); + } + + $header = 'Content-Type: '.$mime_type + .(empty($charset) ? '' : '; charset='.$charset); + + $this->headers[] = array($header, TRUE); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Get Current Content-Type Header + * + * @return string 'text/html', if not already set + */ + public function get_content_type() + { + for ($i = 0, $c = count($this->headers); $i < $c; $i++) + { + if (sscanf($this->headers[$i][0], 'Content-Type: %[^;]', $content_type) === 1) + { + return $content_type; + } + } + + return 'text/html'; + } + + // -------------------------------------------------------------------- + + /** + * Get Header + * + * @param string $header + * @return string + */ + public function get_header($header) + { + // Combine headers already sent with our batched headers + $headers = array_merge( + // We only need [x][0] from our multi-dimensional array + array_map('array_shift', $this->headers), + headers_list() + ); + + if (empty($headers) OR empty($header)) + { + return NULL; + } + + // Count backwards, in order to get the last matching header + for ($c = count($headers) - 1; $c > -1; $c--) + { + if (strncasecmp($header, $headers[$c], $l = self::strlen($header)) === 0) + { + return trim(self::substr($headers[$c], $l+1)); + } + } + + return NULL; + } + + // -------------------------------------------------------------------- + + /** + * Set HTTP Status Header + * + * As of version 1.7.2, this is an alias for common function + * set_status_header(). + * + * @param int $code Status code (default: 200) + * @param string $text Optional message + * @return CI_Output + */ + public function set_status_header($code = 200, $text = '') + { + set_status_header($code, $text); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Enable/disable Profiler + * + * @param bool $val TRUE to enable or FALSE to disable + * @return CI_Output + */ + public function enable_profiler($val = TRUE) + { + $this->enable_profiler = is_bool($val) ? $val : TRUE; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Profiler Sections + * + * Allows override of default/config settings for + * Profiler section display. + * + * @param array $sections Profiler sections + * @return CI_Output + */ + public function set_profiler_sections($sections) + { + if (isset($sections['query_toggle_count'])) + { + $this->_profiler_sections['query_toggle_count'] = (int) $sections['query_toggle_count']; + unset($sections['query_toggle_count']); + } + + foreach ($sections as $section => $enable) + { + $this->_profiler_sections[$section] = ($enable !== FALSE); + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Cache + * + * @param int $time Cache expiration time in minutes + * @return CI_Output + */ + public function cache($time) + { + $this->cache_expiration = is_numeric($time) ? $time : 0; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Display Output + * + * Processes and sends finalized output data to the browser along + * with any server headers and profile data. It also stops benchmark + * timers so the page rendering speed and memory usage can be shown. + * + * Note: All "view" data is automatically put into $this->final_output + * by controller class. + * + * @uses CI_Output::$final_output + * @param string $output Output data override + * @return void + */ + public function _display($output = '') + { + // Note: We use load_class() because we can't use $CI =& get_instance() + // since this function is sometimes called by the caching mechanism, + // which happens before the CI super object is available. + $BM =& load_class('Benchmark', 'core'); + $CFG =& load_class('Config', 'core'); + + // Grab the super object if we can. + if (class_exists('CI_Controller', FALSE)) + { + $CI =& get_instance(); + } + + // -------------------------------------------------------------------- + + // Set the output data + if ($output === '') + { + $output =& $this->final_output; + } + + // -------------------------------------------------------------------- + + // Do we need to write a cache file? Only if the controller does not have its + // own _output() method and we are not dealing with a cache file, which we + // can determine by the existence of the $CI object above + if ($this->cache_expiration > 0 && isset($CI) && ! method_exists($CI, '_output')) + { + $this->_write_cache($output); + } + + // -------------------------------------------------------------------- + + // Parse out the elapsed time and memory usage, + // then swap the pseudo-variables with the data + + $elapsed = $BM->elapsed_time('total_execution_time_start', 'total_execution_time_end'); + + if ($this->parse_exec_vars === TRUE) + { + $memory = round(memory_get_usage() / 1024 / 1024, 2).'MB'; + $output = str_replace(array('{elapsed_time}', '{memory_usage}'), array($elapsed, $memory), $output); + } + + // -------------------------------------------------------------------- + + // Is compression requested? + if (isset($CI) // This means that we're not serving a cache file, if we were, it would already be compressed + && $this->_compress_output === TRUE + && isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) + { + ob_start('ob_gzhandler'); + } + + // -------------------------------------------------------------------- + + // Are there any server headers to send? + if (count($this->headers) > 0) + { + foreach ($this->headers as $header) + { + @header($header[0], $header[1]); + } + } + + // -------------------------------------------------------------------- + + // Does the $CI object exist? + // If not we know we are dealing with a cache file so we'll + // simply echo out the data and exit. + if ( ! isset($CI)) + { + if ($this->_compress_output === TRUE) + { + if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) + { + header('Content-Encoding: gzip'); + header('Content-Length: '.self::strlen($output)); + } + else + { + // User agent doesn't support gzip compression, + // so we'll have to decompress our cache + $output = gzinflate(self::substr($output, 10, -8)); + } + } + + echo $output; + log_message('info', 'Final output sent to browser'); + log_message('debug', 'Total execution time: '.$elapsed); + return; + } + + // -------------------------------------------------------------------- + + // Do we need to generate profile data? + // If so, load the Profile class and run it. + if ($this->enable_profiler === TRUE) + { + $CI->load->library('profiler'); + if ( ! empty($this->_profiler_sections)) + { + $CI->profiler->set_sections($this->_profiler_sections); + } + + // If the output data contains closing and tags + // we will remove them and add them back after we insert the profile data + $output = preg_replace('|.*?|is', '', $output, -1, $count).$CI->profiler->run(); + if ($count > 0) + { + $output .= ''; + } + } + + // Does the controller contain a function named _output()? + // If so send the output there. Otherwise, echo it. + if (method_exists($CI, '_output')) + { + $CI->_output($output); + } + else + { + echo $output; // Send it to the browser! + } + + log_message('info', 'Final output sent to browser'); + log_message('debug', 'Total execution time: '.$elapsed); + } + + // -------------------------------------------------------------------- + + /** + * Write Cache + * + * @param string $output Output data to cache + * @return void + */ + public function _write_cache($output) + { + $CI =& get_instance(); + $path = $CI->config->item('cache_path'); + $cache_path = ($path === '') ? APPPATH.'cache/' : $path; + + if ( ! is_dir($cache_path) OR ! is_really_writable($cache_path)) + { + log_message('error', 'Unable to write cache file: '.$cache_path); + return; + } + + $uri = $CI->config->item('base_url') + .$CI->config->item('index_page') + .$CI->uri->uri_string(); + + if (($cache_query_string = $CI->config->item('cache_query_string')) && ! empty($_SERVER['QUERY_STRING'])) + { + if (is_array($cache_query_string)) + { + $uri .= '?'.http_build_query(array_intersect_key($_GET, array_flip($cache_query_string))); + } + else + { + $uri .= '?'.$_SERVER['QUERY_STRING']; + } + } + + $cache_path .= md5($uri); + + if ( ! $fp = @fopen($cache_path, 'w+b')) + { + log_message('error', 'Unable to write cache file: '.$cache_path); + return; + } + + if ( ! flock($fp, LOCK_EX)) + { + log_message('error', 'Unable to secure a file lock for file at: '.$cache_path); + fclose($fp); + return; + } + + // If output compression is enabled, compress the cache + // itself, so that we don't have to do that each time + // we're serving it + if ($this->_compress_output === TRUE) + { + $output = gzencode($output); + + if ($this->get_header('content-type') === NULL) + { + $this->set_content_type($this->mime_type); + } + } + + $expire = time() + ($this->cache_expiration * 60); + + // Put together our serialized info. + $cache_info = serialize(array( + 'expire' => $expire, + 'headers' => $this->headers + )); + + $output = $cache_info.'ENDCI--->'.$output; + + for ($written = 0, $length = self::strlen($output); $written < $length; $written += $result) + { + if (($result = fwrite($fp, self::substr($output, $written))) === FALSE) + { + break; + } + } + + flock($fp, LOCK_UN); + fclose($fp); + + if ( ! is_int($result)) + { + @unlink($cache_path); + log_message('error', 'Unable to write the complete cache content at: '.$cache_path); + return; + } + + chmod($cache_path, 0640); + log_message('debug', 'Cache file written: '.$cache_path); + + // Send HTTP cache-control headers to browser to match file cache settings. + $this->set_cache_header($_SERVER['REQUEST_TIME'], $expire); + } + + // -------------------------------------------------------------------- + + /** + * Update/serve cached output + * + * @uses CI_Config + * @uses CI_URI + * + * @param object &$CFG CI_Config class instance + * @param object &$URI CI_URI class instance + * @return bool TRUE on success or FALSE on failure + */ + public function _display_cache(&$CFG, &$URI) + { + $cache_path = ($CFG->item('cache_path') === '') ? APPPATH.'cache/' : $CFG->item('cache_path'); + + // Build the file path. The file name is an MD5 hash of the full URI + $uri = $CFG->item('base_url').$CFG->item('index_page').$URI->uri_string; + + if (($cache_query_string = $CFG->item('cache_query_string')) && ! empty($_SERVER['QUERY_STRING'])) + { + if (is_array($cache_query_string)) + { + $uri .= '?'.http_build_query(array_intersect_key($_GET, array_flip($cache_query_string))); + } + else + { + $uri .= '?'.$_SERVER['QUERY_STRING']; + } + } + + $filepath = $cache_path.md5($uri); + + if ( ! file_exists($filepath) OR ! $fp = @fopen($filepath, 'rb')) + { + return FALSE; + } + + flock($fp, LOCK_SH); + + $cache = (filesize($filepath) > 0) ? fread($fp, filesize($filepath)) : ''; + + flock($fp, LOCK_UN); + fclose($fp); + + // Look for embedded serialized file info. + if ( ! preg_match('/^(.*)ENDCI--->/', $cache, $match)) + { + return FALSE; + } + + $cache_info = unserialize($match[1]); + $expire = $cache_info['expire']; + + $last_modified = filemtime($filepath); + + // Has the file expired? + if ($_SERVER['REQUEST_TIME'] >= $expire && is_really_writable($cache_path)) + { + // If so we'll delete it. + @unlink($filepath); + log_message('debug', 'Cache file has expired. File deleted.'); + return FALSE; + } + + // Send the HTTP cache control headers + $this->set_cache_header($last_modified, $expire); + + // Add headers from cache file. + foreach ($cache_info['headers'] as $header) + { + $this->set_header($header[0], $header[1]); + } + + // Display the cache + $this->_display(self::substr($cache, self::strlen($match[0]))); + log_message('debug', 'Cache file is current. Sending it to browser.'); + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Delete cache + * + * @param string $uri URI string + * @return bool + */ + public function delete_cache($uri = '') + { + $CI =& get_instance(); + $cache_path = $CI->config->item('cache_path'); + if ($cache_path === '') + { + $cache_path = APPPATH.'cache/'; + } + + if ( ! is_dir($cache_path)) + { + log_message('error', 'Unable to find cache path: '.$cache_path); + return FALSE; + } + + if (empty($uri)) + { + $uri = $CI->uri->uri_string(); + + if (($cache_query_string = $CI->config->item('cache_query_string')) && ! empty($_SERVER['QUERY_STRING'])) + { + if (is_array($cache_query_string)) + { + $uri .= '?'.http_build_query(array_intersect_key($_GET, array_flip($cache_query_string))); + } + else + { + $uri .= '?'.$_SERVER['QUERY_STRING']; + } + } + } + + $cache_path .= md5($CI->config->item('base_url').$CI->config->item('index_page').ltrim($uri, '/')); + + if ( ! @unlink($cache_path)) + { + log_message('error', 'Unable to delete cache file for '.$uri); + return FALSE; + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Set Cache Header + * + * Set the HTTP headers to match the server-side file cache settings + * in order to reduce bandwidth. + * + * @param int $last_modified Timestamp of when the page was last modified + * @param int $expiration Timestamp of when should the requested page expire from cache + * @return void + */ + public function set_cache_header($last_modified, $expiration) + { + $max_age = $expiration - $_SERVER['REQUEST_TIME']; + + if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && $last_modified <= strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])) + { + $this->set_status_header(304); + exit; + } + + header('Pragma: public'); + header('Cache-Control: max-age='.$max_age.', public'); + header('Expires: '.gmdate('D, d M Y H:i:s', $expiration).' GMT'); + header('Last-modified: '.gmdate('D, d M Y H:i:s', $last_modified).' GMT'); + } + + // -------------------------------------------------------------------- + + /** + * Byte-safe strlen() + * + * @param string $str + * @return int + */ + protected static function strlen($str) + { + return (self::$func_overload) + ? mb_strlen($str, '8bit') + : strlen($str); + } + + // -------------------------------------------------------------------- + + /** + * Byte-safe substr() + * + * @param string $str + * @param int $start + * @param int $length + * @return string + */ + protected static function substr($str, $start, $length = NULL) + { + if (self::$func_overload) + { + // mb_substr($str, $start, null, '8bit') returns an empty + // string on PHP 5.3 + isset($length) OR $length = ($start >= 0 ? self::strlen($str) - $start : -$start); + return mb_substr($str, $start, $length, '8bit'); + } + + return isset($length) + ? substr($str, $start, $length) + : substr($str, $start); + } +} diff --git a/system/core/Router.php b/system/core/Router.php new file mode 100644 index 0000000..7b92f70 --- /dev/null +++ b/system/core/Router.php @@ -0,0 +1,515 @@ +config =& load_class('Config', 'core'); + $this->uri =& load_class('URI', 'core'); + + $this->enable_query_strings = ( ! is_cli() && $this->config->item('enable_query_strings') === TRUE); + + // If a directory override is configured, it has to be set before any dynamic routing logic + is_array($routing) && isset($routing['directory']) && $this->set_directory($routing['directory']); + $this->_set_routing(); + + // Set any routing overrides that may exist in the main index file + if (is_array($routing)) + { + empty($routing['controller']) OR $this->set_class($routing['controller']); + empty($routing['function']) OR $this->set_method($routing['function']); + } + + log_message('info', 'Router Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Set route mapping + * + * Determines what should be served based on the URI request, + * as well as any "routes" that have been set in the routing config file. + * + * @return void + */ + protected function _set_routing() + { + // Load the routes.php file. It would be great if we could + // skip this for enable_query_strings = TRUE, but then + // default_controller would be empty ... + if (file_exists(APPPATH.'config/routes.php')) + { + include(APPPATH.'config/routes.php'); + } + + if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/routes.php')) + { + include(APPPATH.'config/'.ENVIRONMENT.'/routes.php'); + } + + // Validate & get reserved routes + if (isset($route) && is_array($route)) + { + isset($route['default_controller']) && $this->default_controller = $route['default_controller']; + isset($route['translate_uri_dashes']) && $this->translate_uri_dashes = $route['translate_uri_dashes']; + unset($route['default_controller'], $route['translate_uri_dashes']); + $this->routes = $route; + } + + // Are query strings enabled in the config file? Normally CI doesn't utilize query strings + // since URI segments are more search-engine friendly, but they can optionally be used. + // If this feature is enabled, we will gather the directory/class/method a little differently + if ($this->enable_query_strings) + { + // If the directory is set at this time, it means an override exists, so skip the checks + if ( ! isset($this->directory)) + { + $_d = $this->config->item('directory_trigger'); + $_d = isset($_GET[$_d]) ? trim($_GET[$_d], " \t\n\r\0\x0B/") : ''; + + if ($_d !== '') + { + $this->uri->filter_uri($_d); + $this->set_directory($_d); + } + } + + $_c = trim($this->config->item('controller_trigger')); + if ( ! empty($_GET[$_c])) + { + $this->uri->filter_uri($_GET[$_c]); + $this->set_class($_GET[$_c]); + + $_f = trim($this->config->item('function_trigger')); + if ( ! empty($_GET[$_f])) + { + $this->uri->filter_uri($_GET[$_f]); + $this->set_method($_GET[$_f]); + } + + $this->uri->rsegments = array( + 1 => $this->class, + 2 => $this->method + ); + } + else + { + $this->_set_default_controller(); + } + + // Routing rules don't apply to query strings and we don't need to detect + // directories, so we're done here + return; + } + + // Is there anything to parse? + if ($this->uri->uri_string !== '') + { + $this->_parse_routes(); + } + else + { + $this->_set_default_controller(); + } + } + + // -------------------------------------------------------------------- + + /** + * Set request route + * + * Takes an array of URI segments as input and sets the class/method + * to be called. + * + * @used-by CI_Router::_parse_routes() + * @param array $segments URI segments + * @return void + */ + protected function _set_request($segments = array()) + { + $segments = $this->_validate_request($segments); + // If we don't have any segments left - try the default controller; + // WARNING: Directories get shifted out of the segments array! + if (empty($segments)) + { + $this->_set_default_controller(); + return; + } + + if ($this->translate_uri_dashes === TRUE) + { + $segments[0] = str_replace('-', '_', $segments[0]); + if (isset($segments[1])) + { + $segments[1] = str_replace('-', '_', $segments[1]); + } + } + + $this->set_class($segments[0]); + if (isset($segments[1])) + { + $this->set_method($segments[1]); + } + else + { + $segments[1] = 'index'; + } + + array_unshift($segments, NULL); + unset($segments[0]); + $this->uri->rsegments = $segments; + } + + // -------------------------------------------------------------------- + + /** + * Set default controller + * + * @return void + */ + protected function _set_default_controller() + { + if (empty($this->default_controller)) + { + show_error('Unable to determine what should be displayed. A default route has not been specified in the routing file.'); + } + + // Is the method being specified? + if (sscanf($this->default_controller, '%[^/]/%s', $class, $method) !== 2) + { + $method = 'index'; + } + + if ( ! file_exists(APPPATH.'controllers/'.$this->directory.ucfirst($class).'.php')) + { + // This will trigger 404 later + return; + } + + $this->set_class($class); + $this->set_method($method); + + // Assign routed segments, index starting from 1 + $this->uri->rsegments = array( + 1 => $class, + 2 => $method + ); + + log_message('debug', 'No URI present. Default controller set.'); + } + + // -------------------------------------------------------------------- + + /** + * Validate request + * + * Attempts validate the URI request and determine the controller path. + * + * @used-by CI_Router::_set_request() + * @param array $segments URI segments + * @return mixed URI segments + */ + protected function _validate_request($segments) + { + $c = count($segments); + $directory_override = isset($this->directory); + + // Loop through our segments and return as soon as a controller + // is found or when such a directory doesn't exist + while ($c-- > 0) + { + $test = $this->directory + .ucfirst($this->translate_uri_dashes === TRUE ? str_replace('-', '_', $segments[0]) : $segments[0]); + + if ( ! file_exists(APPPATH.'controllers/'.$test.'.php') + && $directory_override === FALSE + && is_dir(APPPATH.'controllers/'.$this->directory.$segments[0]) + ) + { + $this->set_directory(array_shift($segments), TRUE); + continue; + } + + return $segments; + } + + // This means that all segments were actually directories + return $segments; + } + + // -------------------------------------------------------------------- + + /** + * Parse Routes + * + * Matches any routes that may exist in the config/routes.php file + * against the URI to determine if the class/method need to be remapped. + * + * @return void + */ + protected function _parse_routes() + { + // Turn the segment array into a URI string + $uri = implode('/', $this->uri->segments); + + // Get HTTP verb + $http_verb = isset($_SERVER['REQUEST_METHOD']) ? strtolower($_SERVER['REQUEST_METHOD']) : 'cli'; + + // Loop through the route array looking for wildcards + foreach ($this->routes as $key => $val) + { + // Check if route format is using HTTP verbs + if (is_array($val)) + { + $val = array_change_key_case($val, CASE_LOWER); + if (isset($val[$http_verb])) + { + $val = $val[$http_verb]; + } + else + { + continue; + } + } + + // Convert wildcards to RegEx + $key = str_replace(array(':any', ':num'), array('[^/]+', '[0-9]+'), $key); + + // Does the RegEx match? + if (preg_match('#^'.$key.'$#', $uri, $matches)) + { + // Are we using callbacks to process back-references? + if ( ! is_string($val) && is_callable($val)) + { + // Remove the original string from the matches array. + array_shift($matches); + + // Execute the callback using the values in matches as its parameters. + $val = call_user_func_array($val, $matches); + } + // Are we using the default routing method for back-references? + elseif (strpos($val, '$') !== FALSE && strpos($key, '(') !== FALSE) + { + $val = preg_replace('#^'.$key.'$#', $val, $uri); + } + + $this->_set_request(explode('/', $val)); + return; + } + } + + // If we got this far it means we didn't encounter a + // matching route so we'll set the site default route + $this->_set_request(array_values($this->uri->segments)); + } + + // -------------------------------------------------------------------- + + /** + * Set class name + * + * @param string $class Class name + * @return void + */ + public function set_class($class) + { + $this->class = str_replace(array('/', '.'), '', $class); + } + + // -------------------------------------------------------------------- + + /** + * Fetch the current class + * + * @deprecated 3.0.0 Read the 'class' property instead + * @return string + */ + public function fetch_class() + { + return $this->class; + } + + // -------------------------------------------------------------------- + + /** + * Set method name + * + * @param string $method Method name + * @return void + */ + public function set_method($method) + { + $this->method = $method; + } + + // -------------------------------------------------------------------- + + /** + * Fetch the current method + * + * @deprecated 3.0.0 Read the 'method' property instead + * @return string + */ + public function fetch_method() + { + return $this->method; + } + + // -------------------------------------------------------------------- + + /** + * Set directory name + * + * @param string $dir Directory name + * @param bool $append Whether we're appending rather than setting the full value + * @return void + */ + public function set_directory($dir, $append = FALSE) + { + if ($append !== TRUE OR empty($this->directory)) + { + $this->directory = str_replace('.', '', trim($dir, '/')).'/'; + } + else + { + $this->directory .= str_replace('.', '', trim($dir, '/')).'/'; + } + } + + // -------------------------------------------------------------------- + + /** + * Fetch directory + * + * Feches the sub-directory (if any) that contains the requested + * controller class. + * + * @deprecated 3.0.0 Read the 'directory' property instead + * @return string + */ + public function fetch_directory() + { + return $this->directory; + } + +} diff --git a/system/core/Security.php b/system/core/Security.php new file mode 100644 index 0000000..6cdce5d --- /dev/null +++ b/system/core/Security.php @@ -0,0 +1,1080 @@ +', '<', '>', + "'", '"', '&', '$', '#', + '{', '}', '[', ']', '=', + ';', '?', '%20', '%22', + '%3c', // < + '%253c', // < + '%3e', // > + '%0e', // > + '%28', // ( + '%29', // ) + '%2528', // ( + '%26', // & + '%24', // $ + '%3f', // ? + '%3b', // ; + '%3d' // = + ); + + /** + * Character set + * + * Will be overridden by the constructor. + * + * @var string + */ + public $charset = 'UTF-8'; + + /** + * XSS Hash + * + * Random Hash for protecting URLs. + * + * @var string + */ + protected $_xss_hash; + + /** + * CSRF Hash + * + * Random hash for Cross Site Request Forgery protection cookie + * + * @var string + */ + protected $_csrf_hash; + + /** + * CSRF Expire time + * + * Expiration time for Cross Site Request Forgery protection cookie. + * Defaults to two hours (in seconds). + * + * @var int + */ + protected $_csrf_expire = 7200; + + /** + * CSRF Token name + * + * Token name for Cross Site Request Forgery protection cookie. + * + * @var string + */ + protected $_csrf_token_name = 'ci_csrf_token'; + + /** + * CSRF Cookie name + * + * Cookie name for Cross Site Request Forgery protection cookie. + * + * @var string + */ + protected $_csrf_cookie_name = 'ci_csrf_token'; + + /** + * List of never allowed strings + * + * @var array + */ + protected $_never_allowed_str = array( + 'document.cookie' => '[removed]', + 'document.write' => '[removed]', + '.parentNode' => '[removed]', + '.innerHTML' => '[removed]', + '-moz-binding' => '[removed]', + '' => '-->', + ' '<![CDATA[', + '' => '<comment>', + '<%' => '<%' + ); + + /** + * List of never allowed regex replacements + * + * @var array + */ + protected $_never_allowed_regex = array( + 'javascript\s*:', + '(document|(document\.)?window)\.(location|on\w*)', + 'expression\s*(\(|&\#40;)', // CSS and IE + 'vbscript\s*:', // IE, surprise! + 'wscript\s*:', // IE + 'jscript\s*:', // IE + 'vbs\s*:', // IE + 'Redirect\s+30\d', + "([\"'])?data\s*:[^\\1]*?base64[^\\1]*?,[^\\1]*?\\1?" + ); + + /** + * Class constructor + * + * @return void + */ + public function __construct() + { + // Is CSRF protection enabled? + if (config_item('csrf_protection')) + { + // CSRF config + foreach (array('csrf_expire', 'csrf_token_name', 'csrf_cookie_name') as $key) + { + if (NULL !== ($val = config_item($key))) + { + $this->{'_'.$key} = $val; + } + } + + // Append application specific cookie prefix + if ($cookie_prefix = config_item('cookie_prefix')) + { + $this->_csrf_cookie_name = $cookie_prefix.$this->_csrf_cookie_name; + } + + // Set the CSRF hash + $this->_csrf_set_hash(); + } + + $this->charset = strtoupper(config_item('charset')); + + log_message('info', 'Security Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * CSRF Verify + * + * @return CI_Security + */ + public function csrf_verify() + { + // If it's not a POST request we will set the CSRF cookie + if (strtoupper($_SERVER['REQUEST_METHOD']) !== 'POST') + { + return $this->csrf_set_cookie(); + } + + // Check if URI has been whitelisted from CSRF checks + if ($exclude_uris = config_item('csrf_exclude_uris')) + { + $uri = load_class('URI', 'core'); + foreach ($exclude_uris as $excluded) + { + if (preg_match('#^'.$excluded.'$#i'.(UTF8_ENABLED ? 'u' : ''), $uri->uri_string())) + { + return $this; + } + } + } + + // Check CSRF token validity, but don't error on mismatch just yet - we'll want to regenerate + $valid = isset($_POST[$this->_csrf_token_name], $_COOKIE[$this->_csrf_cookie_name]) + && hash_equals($_POST[$this->_csrf_token_name], $_COOKIE[$this->_csrf_cookie_name]); + + // We kill this since we're done and we don't want to pollute the _POST array + unset($_POST[$this->_csrf_token_name]); + + // Regenerate on every submission? + if (config_item('csrf_regenerate')) + { + // Nothing should last forever + unset($_COOKIE[$this->_csrf_cookie_name]); + $this->_csrf_hash = NULL; + } + + $this->_csrf_set_hash(); + $this->csrf_set_cookie(); + + if ($valid !== TRUE) + { + $this->csrf_show_error(); + } + + log_message('info', 'CSRF token verified'); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * CSRF Set Cookie + * + * @codeCoverageIgnore + * @return CI_Security + */ + public function csrf_set_cookie() + { + $expire = time() + $this->_csrf_expire; + $secure_cookie = (bool) config_item('cookie_secure'); + + if ($secure_cookie && ! is_https()) + { + return FALSE; + } + + setcookie( + $this->_csrf_cookie_name, + $this->_csrf_hash, + $expire, + config_item('cookie_path'), + config_item('cookie_domain'), + $secure_cookie, + config_item('cookie_httponly') + ); + log_message('info', 'CSRF cookie sent'); + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Show CSRF Error + * + * @return void + */ + public function csrf_show_error() + { + show_error('The action you have requested is not allowed.', 403); + } + + // -------------------------------------------------------------------- + + /** + * Get CSRF Hash + * + * @see CI_Security::$_csrf_hash + * @return string CSRF hash + */ + public function get_csrf_hash() + { + return $this->_csrf_hash; + } + + // -------------------------------------------------------------------- + + /** + * Get CSRF Token Name + * + * @see CI_Security::$_csrf_token_name + * @return string CSRF token name + */ + public function get_csrf_token_name() + { + return $this->_csrf_token_name; + } + + // -------------------------------------------------------------------- + + /** + * XSS Clean + * + * Sanitizes data so that Cross Site Scripting Hacks can be + * prevented. This method does a fair amount of work but + * it is extremely thorough, designed to prevent even the + * most obscure XSS attempts. Nothing is ever 100% foolproof, + * of course, but I haven't been able to get anything passed + * the filter. + * + * Note: Should only be used to deal with data upon submission. + * It's not something that should be used for general + * runtime processing. + * + * @link http://channel.bitflux.ch/wiki/XSS_Prevention + * Based in part on some code and ideas from Bitflux. + * + * @link http://ha.ckers.org/xss.html + * To help develop this script I used this great list of + * vulnerabilities along with a few other hacks I've + * harvested from examining vulnerabilities in other programs. + * + * @param string|string[] $str Input data + * @param bool $is_image Whether the input is an image + * @return string + */ + public function xss_clean($str, $is_image = FALSE) + { + // Is the string an array? + if (is_array($str)) + { + foreach ($str as $key => &$value) + { + $str[$key] = $this->xss_clean($value); + } + + return $str; + } + + // Remove Invisible Characters + $str = remove_invisible_characters($str); + + /* + * URL Decode + * + * Just in case stuff like this is submitted: + * + * Google + * + * Note: Use rawurldecode() so it does not remove plus signs + */ + if (stripos($str, '%') !== false) + { + do + { + $oldstr = $str; + $str = rawurldecode($str); + $str = preg_replace_callback('#%(?:\s*[0-9a-f]){2,}#i', array($this, '_urldecodespaces'), $str); + } + while ($oldstr !== $str); + unset($oldstr); + } + + /* + * Convert character entities to ASCII + * + * This permits our tests below to work reliably. + * We only convert entities that are within tags since + * these are the ones that will pose security problems. + */ + $str = preg_replace_callback("/[^a-z0-9>]+[a-z0-9]+=([\'\"]).*?\\1/si", array($this, '_convert_attribute'), $str); + $str = preg_replace_callback('/<\w+.*/si', array($this, '_decode_entity'), $str); + + // Remove Invisible Characters Again! + $str = remove_invisible_characters($str); + + /* + * Convert all tabs to spaces + * + * This prevents strings like this: ja vascript + * NOTE: we deal with spaces between characters later. + * NOTE: preg_replace was found to be amazingly slow here on + * large blocks of data, so we use str_replace. + */ + $str = str_replace("\t", ' ', $str); + + // Capture converted string for later comparison + $converted_string = $str; + + // Remove Strings that are never allowed + $str = $this->_do_never_allowed($str); + + /* + * Makes PHP tags safe + * + * Note: XML tags are inadvertently replaced too: + * + * '), array('<?', '?>'), $str); + } + + /* + * Compact any exploded words + * + * This corrects words like: j a v a s c r i p t + * These words are compacted back to their correct state. + */ + $words = array( + 'javascript', 'expression', 'vbscript', 'jscript', 'wscript', + 'vbs', 'script', 'base64', 'applet', 'alert', 'document', + 'write', 'cookie', 'window', 'confirm', 'prompt', 'eval' + ); + + foreach ($words as $word) + { + $word = implode('\s*', str_split($word)).'\s*'; + + // We only want to do this when it is followed by a non-word character + // That way valid stuff like "dealer to" does not become "dealerto" + $str = preg_replace_callback('#('.substr($word, 0, -3).')(\W)#is', array($this, '_compact_exploded_words'), $str); + } + + /* + * Remove disallowed Javascript in links or img tags + * We used to do some version comparisons and use of stripos(), + * but it is dog slow compared to these simplified non-capturing + * preg_match(), especially if the pattern exists in the string + * + * Note: It was reported that not only space characters, but all in + * the following pattern can be parsed as separators between a tag name + * and its attributes: [\d\s"\'`;,\/\=\(\x00\x0B\x09\x0C] + * ... however, remove_invisible_characters() above already strips the + * hex-encoded ones, so we'll skip them below. + */ + do + { + $original = $str; + + if (preg_match('/]+([^>]*?)(?:>|$)#si', array($this, '_js_link_removal'), $str); + } + + if (preg_match('/]*?)(?:\s?/?>|$)#si', array($this, '_js_img_removal'), $str); + } + + if (preg_match('/script|xss/i', $str)) + { + $str = preg_replace('##si', '[removed]', $str); + } + } + while ($original !== $str); + unset($original); + + /* + * Sanitize naughty HTML elements + * + * If a tag containing any of the words in the list + * below is found, the tag gets converted to entities. + * + * So this: + * Becomes: <blink> + */ + $pattern = '#' + .'<((?/*\s*)((?[a-z0-9]+)(?=[^a-z0-9]|$)|.+)' // tag start and name, followed by a non-tag character + .'[^\s\042\047a-z0-9>/=]*' // a valid attribute character immediately after the tag would count as a separator + // optional attributes + .'(?(?:[\s\042\047/=]*' // non-attribute characters, excluding > (tag close) for obvious reasons + .'[^\s\042\047>/=]+' // attribute characters + // optional attribute-value + .'(?:\s*=' // attribute-value separator + .'(?:[^\s\042\047=><`]+|\s*\042[^\042]*\042|\s*\047[^\047]*\047|\s*(?U:[^\s\042\047=><`]*))' // single, double or non-quoted value + .')?' // end optional attribute-value group + .')*)' // end optional attributes group + .'[^>]*)(?\>)?#isS'; + + // Note: It would be nice to optimize this for speed, BUT + // only matching the naughty elements here results in + // false positives and in turn - vulnerabilities! + do + { + $old_str = $str; + $str = preg_replace_callback($pattern, array($this, '_sanitize_naughty_html'), $str); + } + while ($old_str !== $str); + unset($old_str); + + /* + * Sanitize naughty scripting elements + * + * Similar to above, only instead of looking for + * tags it looks for PHP and JavaScript commands + * that are disallowed. Rather than removing the + * code, it simply converts the parenthesis to entities + * rendering the code un-executable. + * + * For example: eval('some code') + * Becomes: eval('some code') + */ + $str = preg_replace( + '#(alert|prompt|confirm|cmd|passthru|eval|exec|expression|system|fopen|fsockopen|file|file_get_contents|readfile|unlink)(\s*)\((.*?)\)#si', + '\\1\\2(\\3)', + $str + ); + + // Final clean up + // This adds a bit of extra precaution in case + // something got through the above filters + $str = $this->_do_never_allowed($str); + + /* + * Images are Handled in a Special Way + * - Essentially, we want to know that after all of the character + * conversion is done whether any unwanted, likely XSS, code was found. + * If not, we return TRUE, as the image is clean. + * However, if the string post-conversion does not matched the + * string post-removal of XSS, then it fails, as there was unwanted XSS + * code found and removed/changed during processing. + */ + if ($is_image === TRUE) + { + return ($str === $converted_string); + } + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * XSS Hash + * + * Generates the XSS hash if needed and returns it. + * + * @see CI_Security::$_xss_hash + * @return string XSS hash + */ + public function xss_hash() + { + if ($this->_xss_hash === NULL) + { + $rand = $this->get_random_bytes(16); + $this->_xss_hash = ($rand === FALSE) + ? md5(uniqid(mt_rand(), TRUE)) + : bin2hex($rand); + } + + return $this->_xss_hash; + } + + // -------------------------------------------------------------------- + + /** + * Get random bytes + * + * @param int $length Output length + * @return string + */ + public function get_random_bytes($length) + { + if (empty($length) OR ! ctype_digit((string) $length)) + { + return FALSE; + } + + if (function_exists('random_bytes')) + { + try + { + // The cast is required to avoid TypeError + return random_bytes((int) $length); + } + catch (Exception $e) + { + // If random_bytes() can't do the job, we can't either ... + // There's no point in using fallbacks. + log_message('error', $e->getMessage()); + return FALSE; + } + } + + // Unfortunately, none of the following PRNGs is guaranteed to exist ... + if (defined('MCRYPT_DEV_URANDOM') && ($output = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM)) !== FALSE) + { + return $output; + } + + + if (is_readable('/dev/urandom') && ($fp = fopen('/dev/urandom', 'rb')) !== FALSE) + { + // Try not to waste entropy ... + is_php('5.4') && stream_set_chunk_size($fp, $length); + $output = fread($fp, $length); + fclose($fp); + if ($output !== FALSE) + { + return $output; + } + } + + if (function_exists('openssl_random_pseudo_bytes')) + { + return openssl_random_pseudo_bytes($length); + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * HTML Entities Decode + * + * A replacement for html_entity_decode() + * + * The reason we are not using html_entity_decode() by itself is because + * while it is not technically correct to leave out the semicolon + * at the end of an entity most browsers will still interpret the entity + * correctly. html_entity_decode() does not convert entities without + * semicolons, so we are left with our own little solution here. Bummer. + * + * @link http://php.net/html-entity-decode + * + * @param string $str Input + * @param string $charset Character set + * @return string + */ + public function entity_decode($str, $charset = NULL) + { + if (strpos($str, '&') === FALSE) + { + return $str; + } + + static $_entities; + + isset($charset) OR $charset = $this->charset; + $flag = is_php('5.4') + ? ENT_COMPAT | ENT_HTML5 + : ENT_COMPAT; + + if ( ! isset($_entities)) + { + $_entities = array_map('strtolower', get_html_translation_table(HTML_ENTITIES, $flag, $charset)); + + // If we're not on PHP 5.4+, add the possibly dangerous HTML 5 + // entities to the array manually + if ($flag === ENT_COMPAT) + { + $_entities[':'] = ':'; + $_entities['('] = '('; + $_entities[')'] = ')'; + $_entities["\n"] = ' '; + $_entities["\t"] = ' '; + } + } + + do + { + $str_compare = $str; + + // Decode standard entities, avoiding false positives + if (preg_match_all('/&[a-z]{2,}(?![a-z;])/i', $str, $matches)) + { + $replace = array(); + $matches = array_unique(array_map('strtolower', $matches[0])); + foreach ($matches as &$match) + { + if (($char = array_search($match.';', $_entities, TRUE)) !== FALSE) + { + $replace[$match] = $char; + } + } + + $str = str_replace(array_keys($replace), array_values($replace), $str); + } + + // Decode numeric & UTF16 two byte entities + $str = html_entity_decode( + preg_replace('/(&#(?:x0*[0-9a-f]{2,5}(?![0-9a-f;])|(?:0*\d{2,4}(?![0-9;]))))/iS', '$1;', $str), + $flag, + $charset + ); + + if ($flag === ENT_COMPAT) + { + $str = str_replace(array_values($_entities), array_keys($_entities), $str); + } + } + while ($str_compare !== $str); + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Sanitize Filename + * + * @param string $str Input file name + * @param bool $relative_path Whether to preserve paths + * @return string + */ + public function sanitize_filename($str, $relative_path = FALSE) + { + $bad = $this->filename_bad_chars; + + if ( ! $relative_path) + { + $bad[] = './'; + $bad[] = '/'; + } + + $str = remove_invisible_characters($str, FALSE); + + do + { + $old = $str; + $str = str_replace($bad, '', $str); + } + while ($old !== $str); + + return stripslashes($str); + } + + // ---------------------------------------------------------------- + + /** + * Strip Image Tags + * + * @param string $str + * @return string + */ + public function strip_image_tags($str) + { + return preg_replace( + array( + '##i', + '#`]+)).*?\>#i' + ), + '\\2', + $str + ); + } + + // ---------------------------------------------------------------- + + /** + * URL-decode taking spaces into account + * + * @see https://github.com/bcit-ci/CodeIgniter/issues/4877 + * @param array $matches + * @return string + */ + protected function _urldecodespaces($matches) + { + $input = $matches[0]; + $nospaces = preg_replace('#\s+#', '', $input); + return ($nospaces === $input) + ? $input + : rawurldecode($nospaces); + } + + // ---------------------------------------------------------------- + + /** + * Compact Exploded Words + * + * Callback method for xss_clean() to remove whitespace from + * things like 'j a v a s c r i p t'. + * + * @used-by CI_Security::xss_clean() + * @param array $matches + * @return string + */ + protected function _compact_exploded_words($matches) + { + return preg_replace('/\s+/s', '', $matches[1]).$matches[2]; + } + + // -------------------------------------------------------------------- + + /** + * Sanitize Naughty HTML + * + * Callback method for xss_clean() to remove naughty HTML elements. + * + * @used-by CI_Security::xss_clean() + * @param array $matches + * @return string + */ + protected function _sanitize_naughty_html($matches) + { + static $naughty_tags = array( + 'alert', 'area', 'prompt', 'confirm', 'applet', 'audio', 'basefont', 'base', 'behavior', 'bgsound', + 'blink', 'body', 'embed', 'expression', 'form', 'frameset', 'frame', 'head', 'html', 'ilayer', + 'iframe', 'input', 'button', 'select', 'isindex', 'layer', 'link', 'meta', 'keygen', 'object', + 'plaintext', 'style', 'script', 'textarea', 'title', 'math', 'video', 'svg', 'xml', 'xss' + ); + + static $evil_attributes = array( + 'on\w+', 'style', 'xmlns', 'formaction', 'form', 'xlink:href', 'FSCommand', 'seekSegmentTime' + ); + + // First, escape unclosed tags + if (empty($matches['closeTag'])) + { + return '<'.$matches[1]; + } + // Is the element that we caught naughty? If so, escape it + elseif (in_array(strtolower($matches['tagName']), $naughty_tags, TRUE)) + { + return '<'.$matches[1].'>'; + } + // For other tags, see if their attributes are "evil" and strip those + elseif (isset($matches['attributes'])) + { + // We'll store the already fitlered attributes here + $attributes = array(); + + // Attribute-catching pattern + $attributes_pattern = '#' + .'(?[^\s\042\047>/=]+)' // attribute characters + // optional attribute-value + .'(?:\s*=(?[^\s\042\047=><`]+|\s*\042[^\042]*\042|\s*\047[^\047]*\047|\s*(?U:[^\s\042\047=><`]*)))' // attribute-value separator + .'#i'; + + // Blacklist pattern for evil attribute names + $is_evil_pattern = '#^('.implode('|', $evil_attributes).')$#i'; + + // Each iteration filters a single attribute + do + { + // Strip any non-alpha characters that may precede an attribute. + // Browsers often parse these incorrectly and that has been a + // of numerous XSS issues we've had. + $matches['attributes'] = preg_replace('#^[^a-z]+#i', '', $matches['attributes']); + + if ( ! preg_match($attributes_pattern, $matches['attributes'], $attribute, PREG_OFFSET_CAPTURE)) + { + // No (valid) attribute found? Discard everything else inside the tag + break; + } + + if ( + // Is it indeed an "evil" attribute? + preg_match($is_evil_pattern, $attribute['name'][0]) + // Or does it have an equals sign, but no value and not quoted? Strip that too! + OR (trim($attribute['value'][0]) === '') + ) + { + $attributes[] = 'xss=removed'; + } + else + { + $attributes[] = $attribute[0][0]; + } + + $matches['attributes'] = substr($matches['attributes'], $attribute[0][1] + strlen($attribute[0][0])); + } + while ($matches['attributes'] !== ''); + + $attributes = empty($attributes) + ? '' + : ' '.implode(' ', $attributes); + return '<'.$matches['slash'].$matches['tagName'].$attributes.'>'; + } + + return $matches[0]; + } + + // -------------------------------------------------------------------- + + /** + * JS Link Removal + * + * Callback method for xss_clean() to sanitize links. + * + * This limits the PCRE backtracks, making it more performance friendly + * and prevents PREG_BACKTRACK_LIMIT_ERROR from being triggered in + * PHP 5.2+ on link-heavy strings. + * + * @used-by CI_Security::xss_clean() + * @param array $match + * @return string + */ + protected function _js_link_removal($match) + { + return str_replace( + $match[1], + preg_replace( + '#href=.*?(?:(?:alert|prompt|confirm)(?:\(|&\#40;)|javascript:|livescript:|mocha:|charset=|window\.|document\.|\.cookie|_filter_attributes($match[1]) + ), + $match[0] + ); + } + + // -------------------------------------------------------------------- + + /** + * JS Image Removal + * + * Callback method for xss_clean() to sanitize image tags. + * + * This limits the PCRE backtracks, making it more performance friendly + * and prevents PREG_BACKTRACK_LIMIT_ERROR from being triggered in + * PHP 5.2+ on image tag heavy strings. + * + * @used-by CI_Security::xss_clean() + * @param array $match + * @return string + */ + protected function _js_img_removal($match) + { + return str_replace( + $match[1], + preg_replace( + '#src=.*?(?:(?:alert|prompt|confirm|eval)(?:\(|&\#40;)|javascript:|livescript:|mocha:|charset=|window\.|document\.|\.cookie|_filter_attributes($match[1]) + ), + $match[0] + ); + } + + // -------------------------------------------------------------------- + + /** + * Attribute Conversion + * + * @used-by CI_Security::xss_clean() + * @param array $match + * @return string + */ + protected function _convert_attribute($match) + { + return str_replace(array('>', '<', '\\'), array('>', '<', '\\\\'), $match[0]); + } + + // -------------------------------------------------------------------- + + /** + * Filter Attributes + * + * Filters tag attributes for consistency and safety. + * + * @used-by CI_Security::_js_img_removal() + * @used-by CI_Security::_js_link_removal() + * @param string $str + * @return string + */ + protected function _filter_attributes($str) + { + $out = ''; + if (preg_match_all('#\s*[a-z\-]+\s*=\s*(\042|\047)([^\\1]*?)\\1#is', $str, $matches)) + { + foreach ($matches[0] as $match) + { + $out .= preg_replace('#/\*.*?\*/#s', '', $match); + } + } + + return $out; + } + + // -------------------------------------------------------------------- + + /** + * HTML Entity Decode Callback + * + * @used-by CI_Security::xss_clean() + * @param array $match + * @return string + */ + protected function _decode_entity($match) + { + // Protect GET variables in URLs + // 901119URL5918AMP18930PROTECT8198 + $match = preg_replace('|\&([a-z\_0-9\-]+)\=([a-z\_0-9\-/]+)|i', $this->xss_hash().'\\1=\\2', $match[0]); + + // Decode, then un-protect URL GET vars + return str_replace( + $this->xss_hash(), + '&', + $this->entity_decode($match, $this->charset) + ); + } + + // -------------------------------------------------------------------- + + /** + * Do Never Allowed + * + * @used-by CI_Security::xss_clean() + * @param string + * @return string + */ + protected function _do_never_allowed($str) + { + $str = str_replace(array_keys($this->_never_allowed_str), $this->_never_allowed_str, $str); + + foreach ($this->_never_allowed_regex as $regex) + { + $str = preg_replace('#'.$regex.'#is', '[removed]', $str); + } + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Set CSRF Hash and Cookie + * + * @return string + */ + protected function _csrf_set_hash() + { + if ($this->_csrf_hash === NULL) + { + // If the cookie exists we will use its value. + // We don't necessarily want to regenerate it with + // each page load since a page could contain embedded + // sub-pages causing this feature to fail + if (isset($_COOKIE[$this->_csrf_cookie_name]) && is_string($_COOKIE[$this->_csrf_cookie_name]) + && preg_match('#^[0-9a-f]{32}$#iS', $_COOKIE[$this->_csrf_cookie_name]) === 1) + { + return $this->_csrf_hash = $_COOKIE[$this->_csrf_cookie_name]; + } + + $rand = $this->get_random_bytes(16); + $this->_csrf_hash = ($rand === FALSE) + ? md5(uniqid(mt_rand(), TRUE)) + : bin2hex($rand); + } + + return $this->_csrf_hash; + } + +} diff --git a/system/core/URI.php b/system/core/URI.php new file mode 100644 index 0000000..574ade6 --- /dev/null +++ b/system/core/URI.php @@ -0,0 +1,643 @@ +config =& load_class('Config', 'core'); + + // If query strings are enabled, we don't need to parse any segments. + // However, they don't make sense under CLI. + if (is_cli() OR $this->config->item('enable_query_strings') !== TRUE) + { + $this->_permitted_uri_chars = $this->config->item('permitted_uri_chars'); + + // If it's a CLI request, ignore the configuration + if (is_cli()) + { + $uri = $this->_parse_argv(); + } + else + { + $protocol = $this->config->item('uri_protocol'); + empty($protocol) && $protocol = 'REQUEST_URI'; + + switch ($protocol) + { + case 'AUTO': // For BC purposes only + case 'REQUEST_URI': + $uri = $this->_parse_request_uri(); + break; + case 'QUERY_STRING': + $uri = $this->_parse_query_string(); + break; + case 'PATH_INFO': + default: + $uri = isset($_SERVER[$protocol]) + ? $_SERVER[$protocol] + : $this->_parse_request_uri(); + break; + } + } + + $this->_set_uri_string($uri); + } + + log_message('info', 'URI Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Set URI String + * + * @param string $str + * @return void + */ + protected function _set_uri_string($str) + { + // Filter out control characters and trim slashes + $this->uri_string = trim(remove_invisible_characters($str, FALSE), '/'); + + if ($this->uri_string !== '') + { + // Remove the URL suffix, if present + if (($suffix = (string) $this->config->item('url_suffix')) !== '') + { + $slen = strlen($suffix); + + if (substr($this->uri_string, -$slen) === $suffix) + { + $this->uri_string = substr($this->uri_string, 0, -$slen); + } + } + + $this->segments[0] = NULL; + // Populate the segments array + foreach (explode('/', trim($this->uri_string, '/')) as $val) + { + $val = trim($val); + // Filter segments for security + $this->filter_uri($val); + + if ($val !== '') + { + $this->segments[] = $val; + } + } + + unset($this->segments[0]); + } + } + + // -------------------------------------------------------------------- + + /** + * Parse REQUEST_URI + * + * Will parse REQUEST_URI and automatically detect the URI from it, + * while fixing the query string if necessary. + * + * @return string + */ + protected function _parse_request_uri() + { + if ( ! isset($_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_NAME'])) + { + return ''; + } + + // parse_url() returns false if no host is present, but the path or query string + // contains a colon followed by a number + $uri = parse_url('http://dummy'.$_SERVER['REQUEST_URI']); + $query = isset($uri['query']) ? $uri['query'] : ''; + $uri = isset($uri['path']) ? $uri['path'] : ''; + + if (isset($_SERVER['SCRIPT_NAME'][0])) + { + if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0) + { + $uri = (string) substr($uri, strlen($_SERVER['SCRIPT_NAME'])); + } + elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0) + { + $uri = (string) substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME']))); + } + } + + // This section ensures that even on servers that require the URI to be in the query string (Nginx) a correct + // URI is found, and also fixes the QUERY_STRING server var and $_GET array. + if (trim($uri, '/') === '' && strncmp($query, '/', 1) === 0) + { + $query = explode('?', $query, 2); + $uri = $query[0]; + $_SERVER['QUERY_STRING'] = isset($query[1]) ? $query[1] : ''; + } + else + { + $_SERVER['QUERY_STRING'] = $query; + } + + parse_str($_SERVER['QUERY_STRING'], $_GET); + + if ($uri === '/' OR $uri === '') + { + return '/'; + } + + // Do some final cleaning of the URI and return it + return $this->_remove_relative_directory($uri); + } + + // -------------------------------------------------------------------- + + /** + * Parse QUERY_STRING + * + * Will parse QUERY_STRING and automatically detect the URI from it. + * + * @return string + */ + protected function _parse_query_string() + { + $uri = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : @getenv('QUERY_STRING'); + + if (trim($uri, '/') === '') + { + return ''; + } + elseif (strncmp($uri, '/', 1) === 0) + { + $uri = explode('?', $uri, 2); + $_SERVER['QUERY_STRING'] = isset($uri[1]) ? $uri[1] : ''; + $uri = $uri[0]; + } + + parse_str($_SERVER['QUERY_STRING'], $_GET); + + return $this->_remove_relative_directory($uri); + } + + // -------------------------------------------------------------------- + + /** + * Parse CLI arguments + * + * Take each command line argument and assume it is a URI segment. + * + * @return string + */ + protected function _parse_argv() + { + $args = array_slice($_SERVER['argv'], 1); + return $args ? implode('/', $args) : ''; + } + + // -------------------------------------------------------------------- + + /** + * Remove relative directory (../) and multi slashes (///) + * + * Do some final cleaning of the URI and return it, currently only used in self::_parse_request_uri() + * + * @param string $uri + * @return string + */ + protected function _remove_relative_directory($uri) + { + $uris = array(); + $tok = strtok($uri, '/'); + while ($tok !== FALSE) + { + if (( ! empty($tok) OR $tok === '0') && $tok !== '..') + { + $uris[] = $tok; + } + $tok = strtok('/'); + } + + return implode('/', $uris); + } + + // -------------------------------------------------------------------- + + /** + * Filter URI + * + * Filters segments for malicious characters. + * + * @param string $str + * @return void + */ + public function filter_uri(&$str) + { + if ( ! empty($str) && ! empty($this->_permitted_uri_chars) && ! preg_match('/^['.$this->_permitted_uri_chars.']+$/i'.(UTF8_ENABLED ? 'u' : ''), $str)) + { + show_error('The URI you submitted has disallowed characters.', 400); + } + } + + // -------------------------------------------------------------------- + + /** + * Fetch URI Segment + * + * @see CI_URI::$segments + * @param int $n Index + * @param mixed $no_result What to return if the segment index is not found + * @return mixed + */ + public function segment($n, $no_result = NULL) + { + return isset($this->segments[$n]) ? $this->segments[$n] : $no_result; + } + + // -------------------------------------------------------------------- + + /** + * Fetch URI "routed" Segment + * + * Returns the re-routed URI segment (assuming routing rules are used) + * based on the index provided. If there is no routing, will return + * the same result as CI_URI::segment(). + * + * @see CI_URI::$rsegments + * @see CI_URI::segment() + * @param int $n Index + * @param mixed $no_result What to return if the segment index is not found + * @return mixed + */ + public function rsegment($n, $no_result = NULL) + { + return isset($this->rsegments[$n]) ? $this->rsegments[$n] : $no_result; + } + + // -------------------------------------------------------------------- + + /** + * URI to assoc + * + * Generates an associative array of URI data starting at the supplied + * segment index. For example, if this is your URI: + * + * example.com/user/search/name/joe/location/UK/gender/male + * + * You can use this method to generate an array with this prototype: + * + * array ( + * name => joe + * location => UK + * gender => male + * ) + * + * @param int $n Index (default: 3) + * @param array $default Default values + * @return array + */ + public function uri_to_assoc($n = 3, $default = array()) + { + return $this->_uri_to_assoc($n, $default, 'segment'); + } + + // -------------------------------------------------------------------- + + /** + * Routed URI to assoc + * + * Identical to CI_URI::uri_to_assoc(), only it uses the re-routed + * segment array. + * + * @see CI_URI::uri_to_assoc() + * @param int $n Index (default: 3) + * @param array $default Default values + * @return array + */ + public function ruri_to_assoc($n = 3, $default = array()) + { + return $this->_uri_to_assoc($n, $default, 'rsegment'); + } + + // -------------------------------------------------------------------- + + /** + * Internal URI-to-assoc + * + * Generates a key/value pair from the URI string or re-routed URI string. + * + * @used-by CI_URI::uri_to_assoc() + * @used-by CI_URI::ruri_to_assoc() + * @param int $n Index (default: 3) + * @param array $default Default values + * @param string $which Array name ('segment' or 'rsegment') + * @return array + */ + protected function _uri_to_assoc($n = 3, $default = array(), $which = 'segment') + { + if ( ! is_numeric($n)) + { + return $default; + } + + if (isset($this->keyval[$which], $this->keyval[$which][$n])) + { + return $this->keyval[$which][$n]; + } + + $total_segments = "total_{$which}s"; + $segment_array = "{$which}_array"; + + if ($this->$total_segments() < $n) + { + return (count($default) === 0) + ? array() + : array_fill_keys($default, NULL); + } + + $segments = array_slice($this->$segment_array(), ($n - 1)); + $i = 0; + $lastval = ''; + $retval = array(); + foreach ($segments as $seg) + { + if ($i % 2) + { + $retval[$lastval] = $seg; + } + else + { + $retval[$seg] = NULL; + $lastval = $seg; + } + + $i++; + } + + if (count($default) > 0) + { + foreach ($default as $val) + { + if ( ! array_key_exists($val, $retval)) + { + $retval[$val] = NULL; + } + } + } + + // Cache the array for reuse + isset($this->keyval[$which]) OR $this->keyval[$which] = array(); + $this->keyval[$which][$n] = $retval; + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Assoc to URI + * + * Generates a URI string from an associative array. + * + * @param array $array Input array of key/value pairs + * @return string URI string + */ + public function assoc_to_uri($array) + { + $temp = array(); + foreach ((array) $array as $key => $val) + { + $temp[] = $key; + $temp[] = $val; + } + + return implode('/', $temp); + } + + // -------------------------------------------------------------------- + + /** + * Slash segment + * + * Fetches an URI segment with a slash. + * + * @param int $n Index + * @param string $where Where to add the slash ('trailing' or 'leading') + * @return string + */ + public function slash_segment($n, $where = 'trailing') + { + return $this->_slash_segment($n, $where, 'segment'); + } + + // -------------------------------------------------------------------- + + /** + * Slash routed segment + * + * Fetches an URI routed segment with a slash. + * + * @param int $n Index + * @param string $where Where to add the slash ('trailing' or 'leading') + * @return string + */ + public function slash_rsegment($n, $where = 'trailing') + { + return $this->_slash_segment($n, $where, 'rsegment'); + } + + // -------------------------------------------------------------------- + + /** + * Internal Slash segment + * + * Fetches an URI Segment and adds a slash to it. + * + * @used-by CI_URI::slash_segment() + * @used-by CI_URI::slash_rsegment() + * + * @param int $n Index + * @param string $where Where to add the slash ('trailing' or 'leading') + * @param string $which Array name ('segment' or 'rsegment') + * @return string + */ + protected function _slash_segment($n, $where = 'trailing', $which = 'segment') + { + $leading = $trailing = '/'; + + if ($where === 'trailing') + { + $leading = ''; + } + elseif ($where === 'leading') + { + $trailing = ''; + } + + return $leading.$this->$which($n).$trailing; + } + + // -------------------------------------------------------------------- + + /** + * Segment Array + * + * @return array CI_URI::$segments + */ + public function segment_array() + { + return $this->segments; + } + + // -------------------------------------------------------------------- + + /** + * Routed Segment Array + * + * @return array CI_URI::$rsegments + */ + public function rsegment_array() + { + return $this->rsegments; + } + + // -------------------------------------------------------------------- + + /** + * Total number of segments + * + * @return int + */ + public function total_segments() + { + return count($this->segments); + } + + // -------------------------------------------------------------------- + + /** + * Total number of routed segments + * + * @return int + */ + public function total_rsegments() + { + return count($this->rsegments); + } + + // -------------------------------------------------------------------- + + /** + * Fetch URI string + * + * @return string CI_URI::$uri_string + */ + public function uri_string() + { + return $this->uri_string; + } + + // -------------------------------------------------------------------- + + /** + * Fetch Re-routed URI string + * + * @return string + */ + public function ruri_string() + { + return ltrim(load_class('Router', 'core')->directory, '/').implode('/', $this->rsegments); + } + +} diff --git a/system/core/Utf8.php b/system/core/Utf8.php new file mode 100644 index 0000000..7e02177 --- /dev/null +++ b/system/core/Utf8.php @@ -0,0 +1,164 @@ +is_ascii($str) === FALSE) + { + if (MB_ENABLED) + { + $str = mb_convert_encoding($str, 'UTF-8', 'UTF-8'); + } + elseif (ICONV_ENABLED) + { + $str = @iconv('UTF-8', 'UTF-8//IGNORE', $str); + } + } + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Remove ASCII control characters + * + * Removes all ASCII control characters except horizontal tabs, + * line feeds, and carriage returns, as all others can cause + * problems in XML. + * + * @param string $str String to clean + * @return string + */ + public function safe_ascii_for_xml($str) + { + return remove_invisible_characters($str, FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Convert to UTF-8 + * + * Attempts to convert a string to UTF-8. + * + * @param string $str Input string + * @param string $encoding Input encoding + * @return string $str encoded in UTF-8 or FALSE on failure + */ + public function convert_to_utf8($str, $encoding) + { + if (MB_ENABLED) + { + return mb_convert_encoding($str, 'UTF-8', $encoding); + } + elseif (ICONV_ENABLED) + { + return @iconv($encoding, 'UTF-8', $str); + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Is ASCII? + * + * Tests if a string is standard 7-bit ASCII or not. + * + * @param string $str String to check + * @return bool + */ + public function is_ascii($str) + { + return (preg_match('/[^\x00-\x7F]/S', $str) === 0); + } + +} diff --git a/system/core/compat/hash.php b/system/core/compat/hash.php new file mode 100644 index 0000000..68a8129 --- /dev/null +++ b/system/core/compat/hash.php @@ -0,0 +1,254 @@ + 32, + 'haval128,3' => 128, + 'haval160,3' => 128, + 'haval192,3' => 128, + 'haval224,3' => 128, + 'haval256,3' => 128, + 'haval128,4' => 128, + 'haval160,4' => 128, + 'haval192,4' => 128, + 'haval224,4' => 128, + 'haval256,4' => 128, + 'haval128,5' => 128, + 'haval160,5' => 128, + 'haval192,5' => 128, + 'haval224,5' => 128, + 'haval256,5' => 128, + 'md2' => 16, + 'md4' => 64, + 'md5' => 64, + 'ripemd128' => 64, + 'ripemd160' => 64, + 'ripemd256' => 64, + 'ripemd320' => 64, + 'salsa10' => 64, + 'salsa20' => 64, + 'sha1' => 64, + 'sha224' => 64, + 'sha256' => 64, + 'sha384' => 128, + 'sha512' => 128, + 'snefru' => 32, + 'snefru256' => 32, + 'tiger128,3' => 64, + 'tiger160,3' => 64, + 'tiger192,3' => 64, + 'tiger128,4' => 64, + 'tiger160,4' => 64, + 'tiger192,4' => 64, + 'whirlpool' => 64 + ); + + if (isset($block_sizes[$algo], $password[$block_sizes[$algo]])) + { + $password = hash($algo, $password, TRUE); + } + + $hash = ''; + // Note: Blocks are NOT 0-indexed + for ($bc = (int) ceil($length / $hash_length), $bi = 1; $bi <= $bc; $bi++) + { + $key = $derived_key = hash_hmac($algo, $salt.pack('N', $bi), $password, TRUE); + for ($i = 1; $i < $iterations; $i++) + { + $derived_key ^= $key = hash_hmac($algo, $key, $password, TRUE); + } + + $hash .= $derived_key; + } + + // This is not RFC-compatible, but we're aiming for natural PHP compatibility + if ( ! $raw_output) + { + $hash = bin2hex($hash); + } + + return defined('MB_OVERLOAD_STRING') + ? mb_substr($hash, 0, $length, '8bit') + : substr($hash, 0, $length); + } +} diff --git a/system/core/compat/index.html b/system/core/compat/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/core/compat/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/core/compat/mbstring.php b/system/core/compat/mbstring.php new file mode 100644 index 0000000..9f6c24e --- /dev/null +++ b/system/core/compat/mbstring.php @@ -0,0 +1,149 @@ + 0, 'algoName' => 'unknown', 'options' => array()) + : array('algo' => 1, 'algoName' => 'bcrypt', 'options' => array('cost' => $hash)); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('password_hash')) +{ + /** + * password_hash() + * + * @link http://php.net/password_hash + * @param string $password + * @param int $algo + * @param array $options + * @return mixed + */ + function password_hash($password, $algo, array $options = array()) + { + static $func_overload; + isset($func_overload) OR $func_overload = (extension_loaded('mbstring') && ini_get('mbstring.func_overload')); + + if ($algo !== 1) + { + trigger_error('password_hash(): Unknown hashing algorithm: '.(int) $algo, E_USER_WARNING); + return NULL; + } + + if (isset($options['cost']) && ($options['cost'] < 4 OR $options['cost'] > 31)) + { + trigger_error('password_hash(): Invalid bcrypt cost parameter specified: '.(int) $options['cost'], E_USER_WARNING); + return NULL; + } + + if (isset($options['salt']) && ($saltlen = ($func_overload ? mb_strlen($options['salt'], '8bit') : strlen($options['salt']))) < 22) + { + trigger_error('password_hash(): Provided salt is too short: '.$saltlen.' expecting 22', E_USER_WARNING); + return NULL; + } + elseif ( ! isset($options['salt'])) + { + if (function_exists('random_bytes')) + { + try + { + $options['salt'] = random_bytes(16); + } + catch (Exception $e) + { + log_message('error', 'compat/password: Error while trying to use random_bytes(): '.$e->getMessage()); + return FALSE; + } + } + elseif (defined('MCRYPT_DEV_URANDOM')) + { + $options['salt'] = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM); + } + elseif (DIRECTORY_SEPARATOR === '/' && (is_readable($dev = '/dev/arandom') OR is_readable($dev = '/dev/urandom'))) + { + if (($fp = fopen($dev, 'rb')) === FALSE) + { + log_message('error', 'compat/password: Unable to open '.$dev.' for reading.'); + return FALSE; + } + + // Try not to waste entropy ... + is_php('5.4') && stream_set_chunk_size($fp, 16); + + $options['salt'] = ''; + for ($read = 0; $read < 16; $read = ($func_overload) ? mb_strlen($options['salt'], '8bit') : strlen($options['salt'])) + { + if (($read = fread($fp, 16 - $read)) === FALSE) + { + log_message('error', 'compat/password: Error while reading from '.$dev.'.'); + return FALSE; + } + $options['salt'] .= $read; + } + + fclose($fp); + } + elseif (function_exists('openssl_random_pseudo_bytes')) + { + $is_secure = NULL; + $options['salt'] = openssl_random_pseudo_bytes(16, $is_secure); + if ($is_secure !== TRUE) + { + log_message('error', 'compat/password: openssl_random_pseudo_bytes() set the $cryto_strong flag to FALSE'); + return FALSE; + } + } + else + { + log_message('error', 'compat/password: No CSPRNG available.'); + return FALSE; + } + + $options['salt'] = str_replace('+', '.', rtrim(base64_encode($options['salt']), '=')); + } + elseif ( ! preg_match('#^[a-zA-Z0-9./]+$#D', $options['salt'])) + { + $options['salt'] = str_replace('+', '.', rtrim(base64_encode($options['salt']), '=')); + } + + isset($options['cost']) OR $options['cost'] = 10; + + return (strlen($password = crypt($password, sprintf('$2y$%02d$%s', $options['cost'], $options['salt']))) === 60) + ? $password + : FALSE; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('password_needs_rehash')) +{ + /** + * password_needs_rehash() + * + * @link http://php.net/password_needs_rehash + * @param string $hash + * @param int $algo + * @param array $options + * @return bool + */ + function password_needs_rehash($hash, $algo, array $options = array()) + { + $info = password_get_info($hash); + + if ($algo !== $info['algo']) + { + return TRUE; + } + elseif ($algo === 1) + { + $options['cost'] = isset($options['cost']) ? (int) $options['cost'] : 10; + return ($info['options']['cost'] !== $options['cost']); + } + + // Odd at first glance, but according to a comment in PHP's own unit tests, + // because it is an unknown algorithm - it's valid and therefore doesn't + // need rehashing. + return FALSE; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('password_verify')) +{ + /** + * password_verify() + * + * @link http://php.net/password_verify + * @param string $password + * @param string $hash + * @return bool + */ + function password_verify($password, $hash) + { + if (strlen($hash) !== 60 OR strlen($password = crypt($password, $hash)) !== 60) + { + return FALSE; + } + + $compare = 0; + for ($i = 0; $i < 60; $i++) + { + $compare |= (ord($password[$i]) ^ ord($hash[$i])); + } + + return ($compare === 0); + } +} diff --git a/system/core/compat/standard.php b/system/core/compat/standard.php new file mode 100644 index 0000000..24f3abc --- /dev/null +++ b/system/core/compat/standard.php @@ -0,0 +1,182 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/DB.php b/system/database/DB.php new file mode 100644 index 0000000..f58c2e8 --- /dev/null +++ b/system/database/DB.php @@ -0,0 +1,218 @@ +load->get_package_paths() as $path) + { + if ($path !== APPPATH) + { + if (file_exists($file_path = $path.'config/'.ENVIRONMENT.'/database.php')) + { + include($file_path); + } + elseif (file_exists($file_path = $path.'config/database.php')) + { + include($file_path); + } + } + } + } + + if ( ! isset($db) OR count($db) === 0) + { + show_error('No database connection settings were found in the database config file.'); + } + + if ($params !== '') + { + $active_group = $params; + } + + if ( ! isset($active_group)) + { + show_error('You have not specified a database connection group via $active_group in your config/database.php file.'); + } + elseif ( ! isset($db[$active_group])) + { + show_error('You have specified an invalid database connection group ('.$active_group.') in your config/database.php file.'); + } + + $params = $db[$active_group]; + } + elseif (is_string($params)) + { + /** + * Parse the URL from the DSN string + * Database settings can be passed as discreet + * parameters or as a data source name in the first + * parameter. DSNs must have this prototype: + * $dsn = 'driver://username:password@hostname/database'; + */ + if (($dsn = @parse_url($params)) === FALSE) + { + show_error('Invalid DB Connection String'); + } + + $params = array( + 'dbdriver' => $dsn['scheme'], + 'hostname' => isset($dsn['host']) ? rawurldecode($dsn['host']) : '', + 'port' => isset($dsn['port']) ? rawurldecode($dsn['port']) : '', + 'username' => isset($dsn['user']) ? rawurldecode($dsn['user']) : '', + 'password' => isset($dsn['pass']) ? rawurldecode($dsn['pass']) : '', + 'database' => isset($dsn['path']) ? rawurldecode(substr($dsn['path'], 1)) : '' + ); + + // Were additional config items set? + if (isset($dsn['query'])) + { + parse_str($dsn['query'], $extra); + + foreach ($extra as $key => $val) + { + if (is_string($val) && in_array(strtoupper($val), array('TRUE', 'FALSE', 'NULL'))) + { + $val = var_export($val, TRUE); + } + + $params[$key] = $val; + } + } + } + + // No DB specified yet? Beat them senseless... + if (empty($params['dbdriver'])) + { + show_error('You have not selected a database type to connect to.'); + } + + // Load the DB classes. Note: Since the query builder class is optional + // we need to dynamically create a class that extends proper parent class + // based on whether we're using the query builder class or not. + if ($query_builder_override !== NULL) + { + $query_builder = $query_builder_override; + } + // Backwards compatibility work-around for keeping the + // $active_record config variable working. Should be + // removed in v3.1 + elseif ( ! isset($query_builder) && isset($active_record)) + { + $query_builder = $active_record; + } + + require_once(BASEPATH.'database/DB_driver.php'); + + if ( ! isset($query_builder) OR $query_builder === TRUE) + { + require_once(BASEPATH.'database/DB_query_builder.php'); + if ( ! class_exists('CI_DB', FALSE)) + { + /** + * CI_DB + * + * Acts as an alias for both CI_DB_driver and CI_DB_query_builder. + * + * @see CI_DB_query_builder + * @see CI_DB_driver + */ + class CI_DB extends CI_DB_query_builder { } + } + } + elseif ( ! class_exists('CI_DB', FALSE)) + { + /** + * @ignore + */ + class CI_DB extends CI_DB_driver { } + } + + // Load the DB driver + $driver_file = BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php'; + + file_exists($driver_file) OR show_error('Invalid DB driver'); + require_once($driver_file); + + // Instantiate the DB adapter + $driver = 'CI_DB_'.$params['dbdriver'].'_driver'; + $DB = new $driver($params); + + // Check for a subdriver + if ( ! empty($DB->subdriver)) + { + $driver_file = BASEPATH.'database/drivers/'.$DB->dbdriver.'/subdrivers/'.$DB->dbdriver.'_'.$DB->subdriver.'_driver.php'; + + if (file_exists($driver_file)) + { + require_once($driver_file); + $driver = 'CI_DB_'.$DB->dbdriver.'_'.$DB->subdriver.'_driver'; + $DB = new $driver($params); + } + } + + $DB->initialize(); + return $DB; +} diff --git a/system/database/DB_cache.php b/system/database/DB_cache.php new file mode 100644 index 0000000..56b7356 --- /dev/null +++ b/system/database/DB_cache.php @@ -0,0 +1,221 @@ +CI and load the file helper since we use it a lot + $this->CI =& get_instance(); + $this->db =& $db; + $this->CI->load->helper('file'); + + $this->check_path(); + } + + // -------------------------------------------------------------------- + + /** + * Set Cache Directory Path + * + * @param string $path Path to the cache directory + * @return bool + */ + public function check_path($path = '') + { + if ($path === '') + { + if ($this->db->cachedir === '') + { + return $this->db->cache_off(); + } + + $path = $this->db->cachedir; + } + + // Add a trailing slash to the path if needed + $path = realpath($path) + ? rtrim(realpath($path), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR + : rtrim($path, '/').'/'; + + if ( ! is_dir($path)) + { + log_message('debug', 'DB cache path error: '.$path); + + // If the path is wrong we'll turn off caching + return $this->db->cache_off(); + } + + if ( ! is_really_writable($path)) + { + log_message('debug', 'DB cache dir not writable: '.$path); + + // If the path is not really writable we'll turn off caching + return $this->db->cache_off(); + } + + $this->db->cachedir = $path; + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Retrieve a cached query + * + * The URI being requested will become the name of the cache sub-folder. + * An MD5 hash of the SQL statement will become the cache file name. + * + * @param string $sql + * @return string + */ + public function read($sql) + { + $segment_one = ($this->CI->uri->segment(1) == FALSE) ? 'default' : $this->CI->uri->segment(1); + $segment_two = ($this->CI->uri->segment(2) == FALSE) ? 'index' : $this->CI->uri->segment(2); + $filepath = $this->db->cachedir.$segment_one.'+'.$segment_two.'/'.md5($sql); + + if ( ! is_file($filepath) OR FALSE === ($cachedata = file_get_contents($filepath))) + { + return FALSE; + } + + return unserialize($cachedata); + } + + // -------------------------------------------------------------------- + + /** + * Write a query to a cache file + * + * @param string $sql + * @param object $object + * @return bool + */ + public function write($sql, $object) + { + $segment_one = ($this->CI->uri->segment(1) == FALSE) ? 'default' : $this->CI->uri->segment(1); + $segment_two = ($this->CI->uri->segment(2) == FALSE) ? 'index' : $this->CI->uri->segment(2); + $dir_path = $this->db->cachedir.$segment_one.'+'.$segment_two.'/'; + $filename = md5($sql); + + if ( ! is_dir($dir_path) && ! @mkdir($dir_path, 0750)) + { + return FALSE; + } + + if (write_file($dir_path.$filename, serialize($object)) === FALSE) + { + return FALSE; + } + + chmod($dir_path.$filename, 0640); + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Delete cache files within a particular directory + * + * @param string $segment_one + * @param string $segment_two + * @return void + */ + public function delete($segment_one = '', $segment_two = '') + { + if ($segment_one === '') + { + $segment_one = ($this->CI->uri->segment(1) == FALSE) ? 'default' : $this->CI->uri->segment(1); + } + + if ($segment_two === '') + { + $segment_two = ($this->CI->uri->segment(2) == FALSE) ? 'index' : $this->CI->uri->segment(2); + } + + $dir_path = $this->db->cachedir.$segment_one.'+'.$segment_two.'/'; + delete_files($dir_path, TRUE); + } + + // -------------------------------------------------------------------- + + /** + * Delete all existing cache files + * + * @return void + */ + public function delete_all() + { + delete_files($this->db->cachedir, TRUE, TRUE); + } + +} diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php new file mode 100644 index 0000000..0598497 --- /dev/null +++ b/system/database/DB_driver.php @@ -0,0 +1,1991 @@ + $val) + { + $this->$key = $val; + } + } + + log_message('info', 'Database Driver Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Initialize Database Settings + * + * @return bool + */ + public function initialize() + { + /* If an established connection is available, then there's + * no need to connect and select the database. + * + * Depending on the database driver, conn_id can be either + * boolean TRUE, a resource or an object. + */ + if ($this->conn_id) + { + return TRUE; + } + + // ---------------------------------------------------------------- + + // Connect to the database and set the connection ID + $this->conn_id = $this->db_connect($this->pconnect); + + // No connection resource? Check if there is a failover else throw an error + if ( ! $this->conn_id) + { + // Check if there is a failover set + if ( ! empty($this->failover) && is_array($this->failover)) + { + // Go over all the failovers + foreach ($this->failover as $failover) + { + // Replace the current settings with those of the failover + foreach ($failover as $key => $val) + { + $this->$key = $val; + } + + // Try to connect + $this->conn_id = $this->db_connect($this->pconnect); + + // If a connection is made break the foreach loop + if ($this->conn_id) + { + break; + } + } + } + + // We still don't have a connection? + if ( ! $this->conn_id) + { + log_message('error', 'Unable to connect to the database'); + + if ($this->db_debug) + { + $this->display_error('db_unable_to_connect'); + } + + return FALSE; + } + } + + // Now we set the character set and that's all + return $this->db_set_charset($this->char_set); + } + + // -------------------------------------------------------------------- + + /** + * DB connect + * + * This is just a dummy method that all drivers will override. + * + * @return mixed + */ + public function db_connect() + { + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Persistent database connection + * + * @return mixed + */ + public function db_pconnect() + { + return $this->db_connect(TRUE); + } + + // -------------------------------------------------------------------- + + /** + * Reconnect + * + * Keep / reestablish the db connection if no queries have been + * sent for a length of time exceeding the server's idle timeout. + * + * This is just a dummy method to allow drivers without such + * functionality to not declare it, while others will override it. + * + * @return void + */ + public function reconnect() + { + } + + // -------------------------------------------------------------------- + + /** + * Select database + * + * This is just a dummy method to allow drivers without such + * functionality to not declare it, while others will override it. + * + * @return bool + */ + public function db_select() + { + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Last error + * + * @return array + */ + public function error() + { + return array('code' => NULL, 'message' => NULL); + } + + // -------------------------------------------------------------------- + + /** + * Set client character set + * + * @param string + * @return bool + */ + public function db_set_charset($charset) + { + if (method_exists($this, '_db_set_charset') && ! $this->_db_set_charset($charset)) + { + log_message('error', 'Unable to set database connection charset: '.$charset); + + if ($this->db_debug) + { + $this->display_error('db_unable_to_set_charset', $charset); + } + + return FALSE; + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * The name of the platform in use (mysql, mssql, etc...) + * + * @return string + */ + public function platform() + { + return $this->dbdriver; + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * Returns a string containing the version of the database being used. + * Most drivers will override this method. + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + if (FALSE === ($sql = $this->_version())) + { + return ($this->db_debug) ? $this->display_error('db_unsupported_function') : FALSE; + } + + $query = $this->query($sql)->row(); + return $this->data_cache['version'] = $query->ver; + } + + // -------------------------------------------------------------------- + + /** + * Version number query string + * + * @return string + */ + protected function _version() + { + return 'SELECT VERSION() AS ver'; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * Accepts an SQL string as input and returns a result object upon + * successful execution of a "read" type query. Returns boolean TRUE + * upon successful execution of a "write" type query. Returns boolean + * FALSE upon failure, and if the $db_debug variable is set to TRUE + * will raise an error. + * + * @param string $sql + * @param array $binds = FALSE An array of binding data + * @param bool $return_object = NULL + * @return mixed + */ + public function query($sql, $binds = FALSE, $return_object = NULL) + { + if ($sql === '') + { + log_message('error', 'Invalid query: '.$sql); + return ($this->db_debug) ? $this->display_error('db_invalid_query') : FALSE; + } + elseif ( ! is_bool($return_object)) + { + $return_object = ! $this->is_write_type($sql); + } + + // Verify table prefix and replace if necessary + if ($this->dbprefix !== '' && $this->swap_pre !== '' && $this->dbprefix !== $this->swap_pre) + { + $sql = preg_replace('/(\W)'.$this->swap_pre.'(\S+?)/', '\\1'.$this->dbprefix.'\\2', $sql); + } + + // Compile binds if needed + if ($binds !== FALSE) + { + $sql = $this->compile_binds($sql, $binds); + } + + // Is query caching enabled? If the query is a "read type" + // we will load the caching class and return the previously + // cached query if it exists + if ($this->cache_on === TRUE && $return_object === TRUE && $this->_cache_init()) + { + $this->load_rdriver(); + if (FALSE !== ($cache = $this->CACHE->read($sql))) + { + return $cache; + } + } + + // Save the query for debugging + if ($this->save_queries === TRUE) + { + $this->queries[] = $sql; + } + + // Start the Query Timer + $time_start = microtime(TRUE); + + // Run the Query + if (FALSE === ($this->result_id = $this->simple_query($sql))) + { + if ($this->save_queries === TRUE) + { + $this->query_times[] = 0; + } + + // This will trigger a rollback if transactions are being used + if ($this->_trans_depth !== 0) + { + $this->_trans_status = FALSE; + } + + // Grab the error now, as we might run some additional queries before displaying the error + $error = $this->error(); + + // Log errors + log_message('error', 'Query error: '.$error['message'].' - Invalid query: '.$sql); + + if ($this->db_debug) + { + // We call this function in order to roll-back queries + // if transactions are enabled. If we don't call this here + // the error message will trigger an exit, causing the + // transactions to remain in limbo. + while ($this->_trans_depth !== 0) + { + $trans_depth = $this->_trans_depth; + $this->trans_complete(); + if ($trans_depth === $this->_trans_depth) + { + log_message('error', 'Database: Failure during an automated transaction commit/rollback!'); + break; + } + } + + // Display errors + return $this->display_error(array('Error Number: '.$error['code'], $error['message'], $sql)); + } + + return FALSE; + } + + // Stop and aggregate the query time results + $time_end = microtime(TRUE); + $this->benchmark += $time_end - $time_start; + + if ($this->save_queries === TRUE) + { + $this->query_times[] = $time_end - $time_start; + } + + // Increment the query counter + $this->query_count++; + + // Will we have a result object instantiated? If not - we'll simply return TRUE + if ($return_object !== TRUE) + { + // If caching is enabled we'll auto-cleanup any existing files related to this particular URI + if ($this->cache_on === TRUE && $this->cache_autodel === TRUE && $this->_cache_init()) + { + $this->CACHE->delete(); + } + + return TRUE; + } + + // Load and instantiate the result driver + $driver = $this->load_rdriver(); + $RES = new $driver($this); + + // Is query caching enabled? If so, we'll serialize the + // result object and save it to a cache file. + if ($this->cache_on === TRUE && $this->_cache_init()) + { + // We'll create a new instance of the result object + // only without the platform specific driver since + // we can't use it with cached data (the query result + // resource ID won't be any good once we've cached the + // result object, so we'll have to compile the data + // and save it) + $CR = new CI_DB_result($this); + $CR->result_object = $RES->result_object(); + $CR->result_array = $RES->result_array(); + $CR->num_rows = $RES->num_rows(); + + // Reset these since cached objects can not utilize resource IDs. + $CR->conn_id = NULL; + $CR->result_id = NULL; + + $this->CACHE->write($sql, $CR); + } + + return $RES; + } + + // -------------------------------------------------------------------- + + /** + * Load the result drivers + * + * @return string the name of the result class + */ + public function load_rdriver() + { + $driver = 'CI_DB_'.$this->dbdriver.'_result'; + + if ( ! class_exists($driver, FALSE)) + { + require_once(BASEPATH.'database/DB_result.php'); + require_once(BASEPATH.'database/drivers/'.$this->dbdriver.'/'.$this->dbdriver.'_result.php'); + } + + return $driver; + } + + // -------------------------------------------------------------------- + + /** + * Simple Query + * This is a simplified version of the query() function. Internally + * we only use it when running transaction commands since they do + * not require all the features of the main query() function. + * + * @param string the sql query + * @return mixed + */ + public function simple_query($sql) + { + if ( ! $this->conn_id) + { + if ( ! $this->initialize()) + { + return FALSE; + } + } + + return $this->_execute($sql); + } + + // -------------------------------------------------------------------- + + /** + * Disable Transactions + * This permits transactions to be disabled at run-time. + * + * @return void + */ + public function trans_off() + { + $this->trans_enabled = FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Enable/disable Transaction Strict Mode + * + * When strict mode is enabled, if you are running multiple groups of + * transactions, if one group fails all subsequent groups will be + * rolled back. + * + * If strict mode is disabled, each group is treated autonomously, + * meaning a failure of one group will not affect any others + * + * @param bool $mode = TRUE + * @return void + */ + public function trans_strict($mode = TRUE) + { + $this->trans_strict = is_bool($mode) ? $mode : TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Start Transaction + * + * @param bool $test_mode = FALSE + * @return bool + */ + public function trans_start($test_mode = FALSE) + { + if ( ! $this->trans_enabled) + { + return FALSE; + } + + return $this->trans_begin($test_mode); + } + + // -------------------------------------------------------------------- + + /** + * Complete Transaction + * + * @return bool + */ + public function trans_complete() + { + if ( ! $this->trans_enabled) + { + return FALSE; + } + + // The query() function will set this flag to FALSE in the event that a query failed + if ($this->_trans_status === FALSE OR $this->_trans_failure === TRUE) + { + $this->trans_rollback(); + + // If we are NOT running in strict mode, we will reset + // the _trans_status flag so that subsequent groups of + // transactions will be permitted. + if ($this->trans_strict === FALSE) + { + $this->_trans_status = TRUE; + } + + log_message('debug', 'DB Transaction Failure'); + return FALSE; + } + + return $this->trans_commit(); + } + + // -------------------------------------------------------------------- + + /** + * Lets you retrieve the transaction flag to determine if it has failed + * + * @return bool + */ + public function trans_status() + { + return $this->_trans_status; + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @param bool $test_mode + * @return bool + */ + public function trans_begin($test_mode = FALSE) + { + if ( ! $this->trans_enabled) + { + return FALSE; + } + // When transactions are nested we only begin/commit/rollback the outermost ones + elseif ($this->_trans_depth > 0) + { + $this->_trans_depth++; + return TRUE; + } + + // Reset the transaction failure flag. + // If the $test_mode flag is set to TRUE transactions will be rolled back + // even if the queries produce a successful result. + $this->_trans_failure = ($test_mode === TRUE); + + if ($this->_trans_begin()) + { + $this->_trans_status = TRUE; + $this->_trans_depth++; + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + public function trans_commit() + { + if ( ! $this->trans_enabled OR $this->_trans_depth === 0) + { + return FALSE; + } + // When transactions are nested we only begin/commit/rollback the outermost ones + elseif ($this->_trans_depth > 1 OR $this->_trans_commit()) + { + $this->_trans_depth--; + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + public function trans_rollback() + { + if ( ! $this->trans_enabled OR $this->_trans_depth === 0) + { + return FALSE; + } + // When transactions are nested we only begin/commit/rollback the outermost ones + elseif ($this->_trans_depth > 1 OR $this->_trans_rollback()) + { + $this->_trans_depth--; + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Compile Bindings + * + * @param string the sql statement + * @param array an array of bind data + * @return string + */ + public function compile_binds($sql, $binds) + { + if (empty($this->bind_marker) OR strpos($sql, $this->bind_marker) === FALSE) + { + return $sql; + } + elseif ( ! is_array($binds)) + { + $binds = array($binds); + $bind_count = 1; + } + else + { + // Make sure we're using numeric keys + $binds = array_values($binds); + $bind_count = count($binds); + } + + // We'll need the marker length later + $ml = strlen($this->bind_marker); + + // Make sure not to replace a chunk inside a string that happens to match the bind marker + if ($c = preg_match_all("/'[^']*'|\"[^\"]*\"/i", $sql, $matches)) + { + $c = preg_match_all('/'.preg_quote($this->bind_marker, '/').'/i', + str_replace($matches[0], + str_replace($this->bind_marker, str_repeat(' ', $ml), $matches[0]), + $sql, $c), + $matches, PREG_OFFSET_CAPTURE); + + // Bind values' count must match the count of markers in the query + if ($bind_count !== $c) + { + return $sql; + } + } + elseif (($c = preg_match_all('/'.preg_quote($this->bind_marker, '/').'/i', $sql, $matches, PREG_OFFSET_CAPTURE)) !== $bind_count) + { + return $sql; + } + + do + { + $c--; + $escaped_value = $this->escape($binds[$c]); + if (is_array($escaped_value)) + { + $escaped_value = '('.implode(',', $escaped_value).')'; + } + $sql = substr_replace($sql, $escaped_value, $matches[0][$c][1], $ml); + } + while ($c !== 0); + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Determines if a query is a "write" type. + * + * @param string An SQL query string + * @return bool + */ + public function is_write_type($sql) + { + return (bool) preg_match('/^\s*"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX|MERGE)\s/i', $sql); + } + + // -------------------------------------------------------------------- + + /** + * Calculate the aggregate query elapsed time + * + * @param int The number of decimal places + * @return string + */ + public function elapsed_time($decimals = 6) + { + return number_format($this->benchmark, $decimals); + } + + // -------------------------------------------------------------------- + + /** + * Returns the total number of queries + * + * @return int + */ + public function total_queries() + { + return $this->query_count; + } + + // -------------------------------------------------------------------- + + /** + * Returns the last query that was executed + * + * @return string + */ + public function last_query() + { + return end($this->queries); + } + + // -------------------------------------------------------------------- + + /** + * "Smart" Escape String + * + * Escapes data based on type + * Sets boolean and null types + * + * @param string + * @return mixed + */ + public function escape($str) + { + if (is_array($str)) + { + $str = array_map(array(&$this, 'escape'), $str); + return $str; + } + elseif (is_string($str) OR (is_object($str) && method_exists($str, '__toString'))) + { + return "'".$this->escape_str($str)."'"; + } + elseif (is_bool($str)) + { + return ($str === FALSE) ? 0 : 1; + } + elseif ($str === NULL) + { + return 'NULL'; + } + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Escape String + * + * @param string|string[] $str Input string + * @param bool $like Whether or not the string will be used in a LIKE condition + * @return string + */ + public function escape_str($str, $like = FALSE) + { + if (is_array($str)) + { + foreach ($str as $key => $val) + { + $str[$key] = $this->escape_str($val, $like); + } + + return $str; + } + + $str = $this->_escape_str($str); + + // escape LIKE condition wildcards + if ($like === TRUE) + { + return str_replace( + array($this->_like_escape_chr, '%', '_'), + array($this->_like_escape_chr.$this->_like_escape_chr, $this->_like_escape_chr.'%', $this->_like_escape_chr.'_'), + $str + ); + } + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Escape LIKE String + * + * Calls the individual driver for platform + * specific escaping for LIKE conditions + * + * @param string|string[] + * @return mixed + */ + public function escape_like_str($str) + { + return $this->escape_str($str, TRUE); + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + return str_replace("'", "''", remove_invisible_characters($str, FALSE)); + } + + // -------------------------------------------------------------------- + + /** + * Primary + * + * Retrieves the primary key. It assumes that the row in the first + * position is the primary key + * + * @param string $table Table name + * @return string + */ + public function primary($table) + { + $fields = $this->list_fields($table); + return is_array($fields) ? current($fields) : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * "Count All" query + * + * Generates a platform-specific query string that counts all records in + * the specified database + * + * @param string + * @return int + */ + public function count_all($table = '') + { + if ($table === '') + { + return 0; + } + + $query = $this->query($this->_count_string.$this->escape_identifiers('numrows').' FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE)); + if ($query->num_rows() === 0) + { + return 0; + } + + $query = $query->row(); + $this->_reset_select(); + return (int) $query->numrows; + } + + // -------------------------------------------------------------------- + + /** + * Returns an array of table names + * + * @param string $constrain_by_prefix = FALSE + * @return array + */ + public function list_tables($constrain_by_prefix = FALSE) + { + // Is there a cached result? + if (isset($this->data_cache['table_names'])) + { + return $this->data_cache['table_names']; + } + + if (FALSE === ($sql = $this->_list_tables($constrain_by_prefix))) + { + return ($this->db_debug) ? $this->display_error('db_unsupported_function') : FALSE; + } + + $this->data_cache['table_names'] = array(); + $query = $this->query($sql); + + foreach ($query->result_array() as $row) + { + // Do we know from which column to get the table name? + if ( ! isset($key)) + { + if (isset($row['table_name'])) + { + $key = 'table_name'; + } + elseif (isset($row['TABLE_NAME'])) + { + $key = 'TABLE_NAME'; + } + else + { + /* We have no other choice but to just get the first element's key. + * Due to array_shift() accepting its argument by reference, if + * E_STRICT is on, this would trigger a warning. So we'll have to + * assign it first. + */ + $key = array_keys($row); + $key = array_shift($key); + } + } + + $this->data_cache['table_names'][] = $row[$key]; + } + + return $this->data_cache['table_names']; + } + + // -------------------------------------------------------------------- + + /** + * Determine if a particular table exists + * + * @param string $table_name + * @return bool + */ + public function table_exists($table_name) + { + return in_array($this->protect_identifiers($table_name, TRUE, FALSE, FALSE), $this->list_tables()); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * @param string $table Table name + * @return array + */ + public function list_fields($table) + { + // Is there a cached result? + if (isset($this->data_cache['field_names'][$table])) + { + return $this->data_cache['field_names'][$table]; + } + + if (FALSE === ($sql = $this->_list_columns($table))) + { + return ($this->db_debug) ? $this->display_error('db_unsupported_function') : FALSE; + } + + $query = $this->query($sql); + $this->data_cache['field_names'][$table] = array(); + + foreach ($query->result_array() as $row) + { + // Do we know from where to get the column's name? + if ( ! isset($key)) + { + if (isset($row['column_name'])) + { + $key = 'column_name'; + } + elseif (isset($row['COLUMN_NAME'])) + { + $key = 'COLUMN_NAME'; + } + else + { + // We have no other choice but to just get the first element's key. + $key = key($row); + } + } + + $this->data_cache['field_names'][$table][] = $row[$key]; + } + + return $this->data_cache['field_names'][$table]; + } + + // -------------------------------------------------------------------- + + /** + * Determine if a particular field exists + * + * @param string + * @param string + * @return bool + */ + public function field_exists($field_name, $table_name) + { + return in_array($field_name, $this->list_fields($table_name)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table the table name + * @return array + */ + public function field_data($table) + { + $query = $this->query($this->_field_data($this->protect_identifiers($table, TRUE, NULL, FALSE))); + return ($query) ? $query->field_data() : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Escape the SQL Identifiers + * + * This function escapes column and table names + * + * @param mixed + * @return mixed + */ + public function escape_identifiers($item) + { + if ($this->_escape_char === '' OR empty($item) OR in_array($item, $this->_reserved_identifiers)) + { + return $item; + } + elseif (is_array($item)) + { + foreach ($item as $key => $value) + { + $item[$key] = $this->escape_identifiers($value); + } + + return $item; + } + // Avoid breaking functions and literal values inside queries + elseif (ctype_digit($item) OR $item[0] === "'" OR ($this->_escape_char !== '"' && $item[0] === '"') OR strpos($item, '(') !== FALSE) + { + return $item; + } + + static $preg_ec = array(); + + if (empty($preg_ec)) + { + if (is_array($this->_escape_char)) + { + $preg_ec = array( + preg_quote($this->_escape_char[0], '/'), + preg_quote($this->_escape_char[1], '/'), + $this->_escape_char[0], + $this->_escape_char[1] + ); + } + else + { + $preg_ec[0] = $preg_ec[1] = preg_quote($this->_escape_char, '/'); + $preg_ec[2] = $preg_ec[3] = $this->_escape_char; + } + } + + foreach ($this->_reserved_identifiers as $id) + { + if (strpos($item, '.'.$id) !== FALSE) + { + return preg_replace('/'.$preg_ec[0].'?([^'.$preg_ec[1].'\.]+)'.$preg_ec[1].'?\./i', $preg_ec[2].'$1'.$preg_ec[3].'.', $item); + } + } + + return preg_replace('/'.$preg_ec[0].'?([^'.$preg_ec[1].'\.]+)'.$preg_ec[1].'?(\.)?/i', $preg_ec[2].'$1'.$preg_ec[3].'$2', $item); + } + + // -------------------------------------------------------------------- + + /** + * Generate an insert string + * + * @param string the table upon which the query will be performed + * @param array an associative array data of key/values + * @return string + */ + public function insert_string($table, $data) + { + $fields = $values = array(); + + foreach ($data as $key => $val) + { + $fields[] = $this->escape_identifiers($key); + $values[] = $this->escape($val); + } + + return $this->_insert($this->protect_identifiers($table, TRUE, NULL, FALSE), $fields, $values); + } + + // -------------------------------------------------------------------- + + /** + * Insert statement + * + * Generates a platform-specific insert string from the supplied data + * + * @param string the table name + * @param array the insert keys + * @param array the insert values + * @return string + */ + protected function _insert($table, $keys, $values) + { + return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES ('.implode(', ', $values).')'; + } + + // -------------------------------------------------------------------- + + /** + * Generate an update string + * + * @param string the table upon which the query will be performed + * @param array an associative array data of key/values + * @param mixed the "where" statement + * @return string + */ + public function update_string($table, $data, $where) + { + if (empty($where)) + { + return FALSE; + } + + $this->where($where); + + $fields = array(); + foreach ($data as $key => $val) + { + $fields[$this->protect_identifiers($key)] = $this->escape($val); + } + + $sql = $this->_update($this->protect_identifiers($table, TRUE, NULL, FALSE), $fields); + $this->_reset_write(); + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string the table name + * @param array the update data + * @return string + */ + protected function _update($table, $values) + { + foreach ($values as $key => $val) + { + $valstr[] = $key.' = '.$val; + } + + return 'UPDATE '.$table.' SET '.implode(', ', $valstr) + .$this->_compile_wh('qb_where') + .$this->_compile_order_by() + .($this->qb_limit ? ' LIMIT '.$this->qb_limit : ''); + } + + // -------------------------------------------------------------------- + + /** + * Tests whether the string has an SQL operator + * + * @param string + * @return bool + */ + protected function _has_operator($str) + { + return (bool) preg_match('/(<|>|!|=|\sIS NULL|\sIS NOT NULL|\sEXISTS|\sBETWEEN|\sLIKE|\sIN\s*\(|\s)/i', trim($str)); + } + + // -------------------------------------------------------------------- + + /** + * Returns the SQL string operator + * + * @param string + * @return string + */ + protected function _get_operator($str) + { + static $_operators; + + if (empty($_operators)) + { + $_les = ($this->_like_escape_str !== '') + ? '\s+'.preg_quote(trim(sprintf($this->_like_escape_str, $this->_like_escape_chr)), '/') + : ''; + $_operators = array( + '\s*(?:<|>|!)?=\s*', // =, <=, >=, != + '\s*<>?\s*', // <, <> + '\s*>\s*', // > + '\s+IS NULL', // IS NULL + '\s+IS NOT NULL', // IS NOT NULL + '\s+EXISTS\s*\(.*\)', // EXISTS(sql) + '\s+NOT EXISTS\s*\(.*\)', // NOT EXISTS(sql) + '\s+BETWEEN\s+', // BETWEEN value AND value + '\s+IN\s*\(.*\)', // IN(list) + '\s+NOT IN\s*\(.*\)', // NOT IN (list) + '\s+LIKE\s+\S.*('.$_les.')?', // LIKE 'expr'[ ESCAPE '%s'] + '\s+NOT LIKE\s+\S.*('.$_les.')?' // NOT LIKE 'expr'[ ESCAPE '%s'] + ); + + } + + return preg_match('/'.implode('|', $_operators).'/i', $str, $match) + ? $match[0] : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Enables a native PHP function to be run, using a platform agnostic wrapper. + * + * @param string $function Function name + * @return mixed + */ + public function call_function($function) + { + $driver = ($this->dbdriver === 'postgre') ? 'pg_' : $this->dbdriver.'_'; + + if (FALSE === strpos($driver, $function)) + { + $function = $driver.$function; + } + + if ( ! function_exists($function)) + { + return ($this->db_debug) ? $this->display_error('db_unsupported_function') : FALSE; + } + + return (func_num_args() > 1) + ? call_user_func_array($function, array_slice(func_get_args(), 1)) + : call_user_func($function); + } + + // -------------------------------------------------------------------- + + /** + * Set Cache Directory Path + * + * @param string the path to the cache directory + * @return void + */ + public function cache_set_path($path = '') + { + $this->cachedir = $path; + } + + // -------------------------------------------------------------------- + + /** + * Enable Query Caching + * + * @return bool cache_on value + */ + public function cache_on() + { + return $this->cache_on = TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Disable Query Caching + * + * @return bool cache_on value + */ + public function cache_off() + { + return $this->cache_on = FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Delete the cache files associated with a particular URI + * + * @param string $segment_one = '' + * @param string $segment_two = '' + * @return bool + */ + public function cache_delete($segment_one = '', $segment_two = '') + { + return $this->_cache_init() + ? $this->CACHE->delete($segment_one, $segment_two) + : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Delete All cache files + * + * @return bool + */ + public function cache_delete_all() + { + return $this->_cache_init() + ? $this->CACHE->delete_all() + : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Initialize the Cache Class + * + * @return bool + */ + protected function _cache_init() + { + if ( ! class_exists('CI_DB_Cache', FALSE)) + { + require_once(BASEPATH.'database/DB_cache.php'); + } + elseif (is_object($this->CACHE)) + { + return TRUE; + } + + $this->CACHE = new CI_DB_Cache($this); // pass db object to support multiple db connections and returned db objects + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + public function close() + { + if ($this->conn_id) + { + $this->_close(); + $this->conn_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * This method would be overridden by most of the drivers. + * + * @return void + */ + protected function _close() + { + $this->conn_id = FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Display an error message + * + * @param string the error message + * @param string any "swap" values + * @param bool whether to localize the message + * @return string sends the application/views/errors/error_db.php template + */ + public function display_error($error = '', $swap = '', $native = FALSE) + { + $LANG =& load_class('Lang', 'core'); + $LANG->load('db'); + + $heading = $LANG->line('db_error_heading'); + + if ($native === TRUE) + { + $message = (array) $error; + } + else + { + $message = is_array($error) ? $error : array(str_replace('%s', $swap, $LANG->line($error))); + } + + // Find the most likely culprit of the error by going through + // the backtrace until the source file is no longer in the + // database folder. + $trace = debug_backtrace(); + foreach ($trace as $call) + { + if (isset($call['file'], $call['class'])) + { + // We'll need this on Windows, as APPPATH and BASEPATH will always use forward slashes + if (DIRECTORY_SEPARATOR !== '/') + { + $call['file'] = str_replace('\\', '/', $call['file']); + } + + if (strpos($call['file'], BASEPATH.'database') === FALSE && strpos($call['class'], 'Loader') === FALSE) + { + // Found it - use a relative path for safety + $message[] = 'Filename: '.str_replace(array(APPPATH, BASEPATH), '', $call['file']); + $message[] = 'Line Number: '.$call['line']; + break; + } + } + } + + $error =& load_class('Exceptions', 'core'); + echo $error->show_error($heading, $message, 'error_db'); + exit(8); // EXIT_DATABASE + } + + // -------------------------------------------------------------------- + + /** + * Protect Identifiers + * + * This function is used extensively by the Query Builder class, and by + * a couple functions in this class. + * It takes a column or table name (optionally with an alias) and inserts + * the table prefix onto it. Some logic is necessary in order to deal with + * column names that include the path. Consider a query like this: + * + * SELECT hostname.database.table.column AS c FROM hostname.database.table + * + * Or a query with aliasing: + * + * SELECT m.member_id, m.member_name FROM members AS m + * + * Since the column name can include up to four segments (host, DB, table, column) + * or also have an alias prefix, we need to do a bit of work to figure this out and + * insert the table prefix (if it exists) in the proper position, and escape only + * the correct identifiers. + * + * @param string + * @param bool + * @param mixed + * @param bool + * @return string + */ + public function protect_identifiers($item, $prefix_single = FALSE, $protect_identifiers = NULL, $field_exists = TRUE) + { + if ( ! is_bool($protect_identifiers)) + { + $protect_identifiers = $this->_protect_identifiers; + } + + if (is_array($item)) + { + $escaped_array = array(); + foreach ($item as $k => $v) + { + $escaped_array[$this->protect_identifiers($k)] = $this->protect_identifiers($v, $prefix_single, $protect_identifiers, $field_exists); + } + + return $escaped_array; + } + + // This is basically a bug fix for queries that use MAX, MIN, etc. + // If a parenthesis is found we know that we do not need to + // escape the data or add a prefix. There's probably a more graceful + // way to deal with this, but I'm not thinking of it -- Rick + // + // Added exception for single quotes as well, we don't want to alter + // literal strings. -- Narf + if (strcspn($item, "()'") !== strlen($item)) + { + return $item; + } + + // Convert tabs or multiple spaces into single spaces + $item = preg_replace('/\s+/', ' ', trim($item)); + + // If the item has an alias declaration we remove it and set it aside. + // Note: strripos() is used in order to support spaces in table names + if ($offset = strripos($item, ' AS ')) + { + $alias = ($protect_identifiers) + ? substr($item, $offset, 4).$this->escape_identifiers(substr($item, $offset + 4)) + : substr($item, $offset); + $item = substr($item, 0, $offset); + } + elseif ($offset = strrpos($item, ' ')) + { + $alias = ($protect_identifiers) + ? ' '.$this->escape_identifiers(substr($item, $offset + 1)) + : substr($item, $offset); + $item = substr($item, 0, $offset); + } + else + { + $alias = ''; + } + + // Break the string apart if it contains periods, then insert the table prefix + // in the correct location, assuming the period doesn't indicate that we're dealing + // with an alias. While we're at it, we will escape the components + if (strpos($item, '.') !== FALSE) + { + $parts = explode('.', $item); + + // Does the first segment of the exploded item match + // one of the aliases previously identified? If so, + // we have nothing more to do other than escape the item + // + // NOTE: The ! empty() condition prevents this method + // from breaking when QB isn't enabled. + if ( ! empty($this->qb_aliased_tables) && in_array($parts[0], $this->qb_aliased_tables)) + { + if ($protect_identifiers === TRUE) + { + foreach ($parts as $key => $val) + { + if ( ! in_array($val, $this->_reserved_identifiers)) + { + $parts[$key] = $this->escape_identifiers($val); + } + } + + $item = implode('.', $parts); + } + + return $item.$alias; + } + + // Is there a table prefix defined in the config file? If not, no need to do anything + if ($this->dbprefix !== '') + { + // We now add the table prefix based on some logic. + // Do we have 4 segments (hostname.database.table.column)? + // If so, we add the table prefix to the column name in the 3rd segment. + if (isset($parts[3])) + { + $i = 2; + } + // Do we have 3 segments (database.table.column)? + // If so, we add the table prefix to the column name in 2nd position + elseif (isset($parts[2])) + { + $i = 1; + } + // Do we have 2 segments (table.column)? + // If so, we add the table prefix to the column name in 1st segment + else + { + $i = 0; + } + + // This flag is set when the supplied $item does not contain a field name. + // This can happen when this function is being called from a JOIN. + if ($field_exists === FALSE) + { + $i++; + } + + // dbprefix may've already been applied, with or without the identifier escaped + $ec = '(?'.preg_quote(is_array($this->_escape_char) ? $this->_escape_char[0] : $this->_escape_char).')?'; + isset($ec[0]) && $ec .= '?'; // Just in case someone has disabled escaping by forcing an empty escape character + + // Verify table prefix and replace if necessary + if ($this->swap_pre !== '' && preg_match('#^'.$ec.preg_quote($this->swap_pre).'#', $parts[$i])) + { + $parts[$i] = preg_replace('#^'.$ec.preg_quote($this->swap_pre).'(\S+?)#', '\\1'.$this->dbprefix.'\\2', $parts[$i]); + } + // We only add the table prefix if it does not already exist + else + { + preg_match('#^'.$ec.preg_quote($this->dbprefix).'#', $parts[$i]) OR $parts[$i] = $this->dbprefix.$parts[$i]; + } + + // Put the parts back together + $item = implode('.', $parts); + } + + if ($protect_identifiers === TRUE) + { + $item = $this->escape_identifiers($item); + } + + return $item.$alias; + } + + // Is there a table prefix? If not, no need to insert it + if ($this->dbprefix !== '') + { + // Verify table prefix and replace if necessary + if ($this->swap_pre !== '' && strpos($item, $this->swap_pre) === 0) + { + $item = preg_replace('/^'.$this->swap_pre.'(\S+?)/', $this->dbprefix.'\\1', $item); + } + // Do we prefix an item with no segments? + elseif ($prefix_single === TRUE && strpos($item, $this->dbprefix) !== 0) + { + $item = $this->dbprefix.$item; + } + } + + if ($protect_identifiers === TRUE && ! in_array($item, $this->_reserved_identifiers)) + { + $item = $this->escape_identifiers($item); + } + + return $item.$alias; + } + + // -------------------------------------------------------------------- + + /** + * Dummy method that allows Query Builder class to be disabled + * and keep count_all() working. + * + * @return void + */ + protected function _reset_select() + { + } + +} diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php new file mode 100644 index 0000000..d3057dc --- /dev/null +++ b/system/database/DB_forge.php @@ -0,0 +1,1030 @@ +db =& $db; + log_message('info', 'Database Forge Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Create database + * + * @param string $db_name + * @return bool + */ + public function create_database($db_name) + { + if ($this->_create_database === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + elseif ( ! $this->db->query(sprintf($this->_create_database, $this->db->escape_identifiers($db_name), $this->db->char_set, $this->db->dbcollat))) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + + if ( ! empty($this->db->data_cache['db_names'])) + { + $this->db->data_cache['db_names'][] = $db_name; + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Drop database + * + * @param string $db_name + * @return bool + */ + public function drop_database($db_name) + { + if ($this->_drop_database === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + elseif ( ! $this->db->query(sprintf($this->_drop_database, $this->db->escape_identifiers($db_name)))) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + + if ( ! empty($this->db->data_cache['db_names'])) + { + $key = array_search(strtolower($db_name), array_map('strtolower', $this->db->data_cache['db_names']), TRUE); + if ($key !== FALSE) + { + unset($this->db->data_cache['db_names'][$key]); + } + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Add Key + * + * @param string $key + * @param bool $primary + * @return CI_DB_forge + */ + public function add_key($key, $primary = FALSE) + { + // DO NOT change this! This condition is only applicable + // for PRIMARY keys because you can only have one such, + // and therefore all fields you add to it will be included + // in the same, composite PRIMARY KEY. + // + // It's not the same for regular indexes. + if ($primary === TRUE && is_array($key)) + { + foreach ($key as $one) + { + $this->add_key($one, $primary); + } + + return $this; + } + + if ($primary === TRUE) + { + $this->primary_keys[] = $key; + } + else + { + $this->keys[] = $key; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Add Field + * + * @param array $field + * @return CI_DB_forge + */ + public function add_field($field) + { + if (is_string($field)) + { + if ($field === 'id') + { + $this->add_field(array( + 'id' => array( + 'type' => 'INT', + 'constraint' => 9, + 'auto_increment' => TRUE + ) + )); + $this->add_key('id', TRUE); + } + else + { + if (strpos($field, ' ') === FALSE) + { + show_error('Field information is required for that operation.'); + } + + $this->fields[] = $field; + } + } + + if (is_array($field)) + { + $this->fields = array_merge($this->fields, $field); + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Create Table + * + * @param string $table Table name + * @param bool $if_not_exists Whether to add IF NOT EXISTS condition + * @param array $attributes Associative array of table attributes + * @return bool + */ + public function create_table($table, $if_not_exists = FALSE, array $attributes = array()) + { + if ($table === '') + { + show_error('A table name is required for that operation.'); + } + else + { + $table = $this->db->dbprefix.$table; + } + + if (count($this->fields) === 0) + { + show_error('Field information is required.'); + } + + $sql = $this->_create_table($table, $if_not_exists, $attributes); + + if (is_bool($sql)) + { + $this->_reset(); + if ($sql === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + } + + if (($result = $this->db->query($sql)) !== FALSE) + { + isset($this->db->data_cache['table_names']) && $this->db->data_cache['table_names'][] = $table; + + // Most databases don't support creating indexes from within the CREATE TABLE statement + if ( ! empty($this->keys)) + { + for ($i = 0, $sqls = $this->_process_indexes($table), $c = count($sqls); $i < $c; $i++) + { + $this->db->query($sqls[$i]); + } + } + } + + $this->_reset(); + return $result; + } + + // -------------------------------------------------------------------- + + /** + * Create Table + * + * @param string $table Table name + * @param bool $if_not_exists Whether to add 'IF NOT EXISTS' condition + * @param array $attributes Associative array of table attributes + * @return mixed + */ + protected function _create_table($table, $if_not_exists, $attributes) + { + if ($if_not_exists === TRUE && $this->_create_table_if === FALSE) + { + if ($this->db->table_exists($table)) + { + return TRUE; + } + + $if_not_exists = FALSE; + } + + $sql = ($if_not_exists) + ? sprintf($this->_create_table_if, $this->db->escape_identifiers($table)) + : 'CREATE TABLE'; + + $columns = $this->_process_fields(TRUE); + for ($i = 0, $c = count($columns); $i < $c; $i++) + { + $columns[$i] = ($columns[$i]['_literal'] !== FALSE) + ? "\n\t".$columns[$i]['_literal'] + : "\n\t".$this->_process_column($columns[$i]); + } + + $columns = implode(',', $columns) + .$this->_process_primary_keys($table); + + // Are indexes created from within the CREATE TABLE statement? (e.g. in MySQL) + if ($this->_create_table_keys === TRUE) + { + $columns .= $this->_process_indexes($table); + } + + // _create_table will usually have the following format: "%s %s (%s\n)" + $sql = sprintf($this->_create_table.'%s', + $sql, + $this->db->escape_identifiers($table), + $columns, + $this->_create_table_attr($attributes) + ); + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * CREATE TABLE attributes + * + * @param array $attributes Associative array of table attributes + * @return string + */ + protected function _create_table_attr($attributes) + { + $sql = ''; + + foreach (array_keys($attributes) as $key) + { + if (is_string($key)) + { + $sql .= ' '.strtoupper($key).' '.$attributes[$key]; + } + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Drop Table + * + * @param string $table_name Table name + * @param bool $if_exists Whether to add an IF EXISTS condition + * @return bool + */ + public function drop_table($table_name, $if_exists = FALSE) + { + if ($table_name === '') + { + return ($this->db->db_debug) ? $this->db->display_error('db_table_name_required') : FALSE; + } + + if (($query = $this->_drop_table($this->db->dbprefix.$table_name, $if_exists)) === TRUE) + { + return TRUE; + } + + $query = $this->db->query($query); + + // Update table list cache + if ($query && ! empty($this->db->data_cache['table_names'])) + { + $key = array_search(strtolower($this->db->dbprefix.$table_name), array_map('strtolower', $this->db->data_cache['table_names']), TRUE); + if ($key !== FALSE) + { + unset($this->db->data_cache['table_names'][$key]); + } + } + + return $query; + } + + // -------------------------------------------------------------------- + + /** + * Drop Table + * + * Generates a platform-specific DROP TABLE string + * + * @param string $table Table name + * @param bool $if_exists Whether to add an IF EXISTS condition + * @return mixed (Returns a platform-specific DROP table string, or TRUE to indicate there's nothing to do) + */ + protected function _drop_table($table, $if_exists) + { + $sql = 'DROP TABLE'; + + if ($if_exists) + { + if ($this->_drop_table_if === FALSE) + { + if ( ! $this->db->table_exists($table)) + { + return TRUE; + } + } + else + { + $sql = sprintf($this->_drop_table_if, $this->db->escape_identifiers($table)); + } + } + + return $sql.' '.$this->db->escape_identifiers($table); + } + + // -------------------------------------------------------------------- + + /** + * Rename Table + * + * @param string $table_name Old table name + * @param string $new_table_name New table name + * @return bool + */ + public function rename_table($table_name, $new_table_name) + { + if ($table_name === '' OR $new_table_name === '') + { + show_error('A table name is required for that operation.'); + return FALSE; + } + elseif ($this->_rename_table === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + $result = $this->db->query(sprintf($this->_rename_table, + $this->db->escape_identifiers($this->db->dbprefix.$table_name), + $this->db->escape_identifiers($this->db->dbprefix.$new_table_name)) + ); + + if ($result && ! empty($this->db->data_cache['table_names'])) + { + $key = array_search(strtolower($this->db->dbprefix.$table_name), array_map('strtolower', $this->db->data_cache['table_names']), TRUE); + if ($key !== FALSE) + { + $this->db->data_cache['table_names'][$key] = $this->db->dbprefix.$new_table_name; + } + } + + return $result; + } + + // -------------------------------------------------------------------- + + /** + * Column Add + * + * @todo Remove deprecated $_after option in 3.1+ + * @param string $table Table name + * @param array $field Column definition + * @param string $_after Column for AFTER clause (deprecated) + * @return bool + */ + public function add_column($table, $field, $_after = NULL) + { + // Work-around for literal column definitions + is_array($field) OR $field = array($field); + + foreach (array_keys($field) as $k) + { + // Backwards-compatibility work-around for MySQL/CUBRID AFTER clause (remove in 3.1+) + if ($_after !== NULL && is_array($field[$k]) && ! isset($field[$k]['after'])) + { + $field[$k]['after'] = $_after; + } + + $this->add_field(array($k => $field[$k])); + } + + $sqls = $this->_alter_table('ADD', $this->db->dbprefix.$table, $this->_process_fields()); + $this->_reset(); + if ($sqls === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + for ($i = 0, $c = count($sqls); $i < $c; $i++) + { + if ($this->db->query($sqls[$i]) === FALSE) + { + return FALSE; + } + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Column Drop + * + * @param string $table Table name + * @param string $column_name Column name + * @return bool + */ + public function drop_column($table, $column_name) + { + $sql = $this->_alter_table('DROP', $this->db->dbprefix.$table, $column_name); + if ($sql === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + return $this->db->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Column Modify + * + * @param string $table Table name + * @param string $field Column definition + * @return bool + */ + public function modify_column($table, $field) + { + // Work-around for literal column definitions + is_array($field) OR $field = array($field); + + foreach (array_keys($field) as $k) + { + $this->add_field(array($k => $field[$k])); + } + + if (count($this->fields) === 0) + { + show_error('Field information is required.'); + } + + $sqls = $this->_alter_table('CHANGE', $this->db->dbprefix.$table, $this->_process_fields()); + $this->_reset(); + if ($sqls === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + for ($i = 0, $c = count($sqls); $i < $c; $i++) + { + if ($this->db->query($sqls[$i]) === FALSE) + { + return FALSE; + } + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' '; + + // DROP has everything it needs now. + if ($alter_type === 'DROP') + { + return $sql.'DROP COLUMN '.$this->db->escape_identifiers($field); + } + + $sql .= ($alter_type === 'ADD') + ? 'ADD ' + : $alter_type.' COLUMN '; + + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + $sqls[] = $sql + .($field[$i]['_literal'] !== FALSE ? $field[$i]['_literal'] : $this->_process_column($field[$i])); + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Process fields + * + * @param bool $create_table + * @return array + */ + protected function _process_fields($create_table = FALSE) + { + $fields = array(); + + foreach ($this->fields as $key => $attributes) + { + if (is_int($key) && ! is_array($attributes)) + { + $fields[] = array('_literal' => $attributes); + continue; + } + + $attributes = array_change_key_case($attributes, CASE_UPPER); + + if ($create_table === TRUE && empty($attributes['TYPE'])) + { + continue; + } + + isset($attributes['TYPE']) && $this->_attr_type($attributes); + + $field = array( + 'name' => $key, + 'new_name' => isset($attributes['NAME']) ? $attributes['NAME'] : NULL, + 'type' => isset($attributes['TYPE']) ? $attributes['TYPE'] : NULL, + 'length' => '', + 'unsigned' => '', + 'null' => '', + 'unique' => '', + 'default' => '', + 'auto_increment' => '', + '_literal' => FALSE + ); + + isset($attributes['TYPE']) && $this->_attr_unsigned($attributes, $field); + + if ($create_table === FALSE) + { + if (isset($attributes['AFTER'])) + { + $field['after'] = $attributes['AFTER']; + } + elseif (isset($attributes['FIRST'])) + { + $field['first'] = (bool) $attributes['FIRST']; + } + } + + $this->_attr_default($attributes, $field); + + if (isset($attributes['NULL'])) + { + if ($attributes['NULL'] === TRUE) + { + $field['null'] = empty($this->_null) ? '' : ' '.$this->_null; + } + else + { + $field['null'] = ' NOT NULL'; + } + } + elseif ($create_table === TRUE) + { + $field['null'] = ' NOT NULL'; + } + + $this->_attr_auto_increment($attributes, $field); + $this->_attr_unique($attributes, $field); + + if (isset($attributes['COMMENT'])) + { + $field['comment'] = $this->db->escape($attributes['COMMENT']); + } + + if (isset($attributes['TYPE']) && ! empty($attributes['CONSTRAINT'])) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'ENUM': + case 'SET': + $attributes['CONSTRAINT'] = $this->db->escape($attributes['CONSTRAINT']); + default: + $field['length'] = is_array($attributes['CONSTRAINT']) + ? '('.implode(',', $attributes['CONSTRAINT']).')' + : '('.$attributes['CONSTRAINT'].')'; + break; + } + } + + $fields[] = $field; + } + + return $fields; + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + return $this->db->escape_identifiers($field['name']) + .' '.$field['type'].$field['length'] + .$field['unsigned'] + .$field['default'] + .$field['null'] + .$field['auto_increment'] + .$field['unique']; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + // Usually overridden by drivers + } + + // -------------------------------------------------------------------- + + /** + * Field attribute UNSIGNED + * + * Depending on the _unsigned property value: + * + * - TRUE will always set $field['unsigned'] to 'UNSIGNED' + * - FALSE will always set $field['unsigned'] to '' + * - array(TYPE) will set $field['unsigned'] to 'UNSIGNED', + * if $attributes['TYPE'] is found in the array + * - array(TYPE => UTYPE) will change $field['type'], + * from TYPE to UTYPE in case of a match + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_unsigned(&$attributes, &$field) + { + if (empty($attributes['UNSIGNED']) OR $attributes['UNSIGNED'] !== TRUE) + { + return; + } + + // Reset the attribute in order to avoid issues if we do type conversion + $attributes['UNSIGNED'] = FALSE; + + if (is_array($this->_unsigned)) + { + foreach (array_keys($this->_unsigned) as $key) + { + if (is_int($key) && strcasecmp($attributes['TYPE'], $this->_unsigned[$key]) === 0) + { + $field['unsigned'] = ' UNSIGNED'; + return; + } + elseif (is_string($key) && strcasecmp($attributes['TYPE'], $key) === 0) + { + $field['type'] = $key; + return; + } + } + + return; + } + + $field['unsigned'] = ($this->_unsigned === TRUE) ? ' UNSIGNED' : ''; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute DEFAULT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_default(&$attributes, &$field) + { + if ($this->_default === FALSE) + { + return; + } + + if (array_key_exists('DEFAULT', $attributes)) + { + if ($attributes['DEFAULT'] === NULL) + { + $field['default'] = empty($this->_null) ? '' : $this->_default.$this->_null; + + // Override the NULL attribute if that's our default + $attributes['NULL'] = TRUE; + $field['null'] = empty($this->_null) ? '' : ' '.$this->_null; + } + else + { + $field['default'] = $this->_default.$this->db->escape($attributes['DEFAULT']); + } + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute UNIQUE + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_unique(&$attributes, &$field) + { + if ( ! empty($attributes['UNIQUE']) && $attributes['UNIQUE'] === TRUE) + { + $field['unique'] = ' UNIQUE'; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['auto_increment'] = ' AUTO_INCREMENT'; + } + } + + // -------------------------------------------------------------------- + + /** + * Process primary keys + * + * @param string $table Table name + * @return string + */ + protected function _process_primary_keys($table) + { + $sql = ''; + + for ($i = 0, $c = count($this->primary_keys); $i < $c; $i++) + { + if ( ! isset($this->fields[$this->primary_keys[$i]])) + { + unset($this->primary_keys[$i]); + } + } + + if (count($this->primary_keys) > 0) + { + $sql .= ",\n\tCONSTRAINT ".$this->db->escape_identifiers('pk_'.$table) + .' PRIMARY KEY('.implode(', ', $this->db->escape_identifiers($this->primary_keys)).')'; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Process indexes + * + * @param string $table Table name + * @return string[] list of SQL statements + */ + protected function _process_indexes($table) + { + $sqls = array(); + + for ($i = 0, $c = count($this->keys); $i < $c; $i++) + { + if (is_array($this->keys[$i])) + { + for ($i2 = 0, $c2 = count($this->keys[$i]); $i2 < $c2; $i2++) + { + if ( ! isset($this->fields[$this->keys[$i][$i2]])) + { + unset($this->keys[$i][$i2]); + continue; + } + } + } + elseif ( ! isset($this->fields[$this->keys[$i]])) + { + unset($this->keys[$i]); + continue; + } + + is_array($this->keys[$i]) OR $this->keys[$i] = array($this->keys[$i]); + + $sqls[] = 'CREATE INDEX '.$this->db->escape_identifiers($table.'_'.implode('_', $this->keys[$i])) + .' ON '.$this->db->escape_identifiers($table) + .' ('.implode(', ', $this->db->escape_identifiers($this->keys[$i])).');'; + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Reset + * + * Resets table creation vars + * + * @return void + */ + protected function _reset() + { + $this->fields = $this->keys = $this->primary_keys = array(); + } + +} diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php new file mode 100644 index 0000000..b9bbb50 --- /dev/null +++ b/system/database/DB_query_builder.php @@ -0,0 +1,2803 @@ +_protect_identifiers; + + foreach ($select as $val) + { + $val = trim($val); + + if ($val !== '') + { + $this->qb_select[] = $val; + $this->qb_no_escape[] = $escape; + + if ($this->qb_caching === TRUE) + { + $this->qb_cache_select[] = $val; + $this->qb_cache_exists[] = 'select'; + $this->qb_cache_no_escape[] = $escape; + } + } + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Select Max + * + * Generates a SELECT MAX(field) portion of a query + * + * @param string the field + * @param string an alias + * @return CI_DB_query_builder + */ + public function select_max($select = '', $alias = '') + { + return $this->_max_min_avg_sum($select, $alias, 'MAX'); + } + + // -------------------------------------------------------------------- + + /** + * Select Min + * + * Generates a SELECT MIN(field) portion of a query + * + * @param string the field + * @param string an alias + * @return CI_DB_query_builder + */ + public function select_min($select = '', $alias = '') + { + return $this->_max_min_avg_sum($select, $alias, 'MIN'); + } + + // -------------------------------------------------------------------- + + /** + * Select Average + * + * Generates a SELECT AVG(field) portion of a query + * + * @param string the field + * @param string an alias + * @return CI_DB_query_builder + */ + public function select_avg($select = '', $alias = '') + { + return $this->_max_min_avg_sum($select, $alias, 'AVG'); + } + + // -------------------------------------------------------------------- + + /** + * Select Sum + * + * Generates a SELECT SUM(field) portion of a query + * + * @param string the field + * @param string an alias + * @return CI_DB_query_builder + */ + public function select_sum($select = '', $alias = '') + { + return $this->_max_min_avg_sum($select, $alias, 'SUM'); + } + + // -------------------------------------------------------------------- + + /** + * SELECT [MAX|MIN|AVG|SUM]() + * + * @used-by select_max() + * @used-by select_min() + * @used-by select_avg() + * @used-by select_sum() + * + * @param string $select Field name + * @param string $alias + * @param string $type + * @return CI_DB_query_builder + */ + protected function _max_min_avg_sum($select = '', $alias = '', $type = 'MAX') + { + if ( ! is_string($select) OR $select === '') + { + $this->display_error('db_invalid_query'); + } + + $type = strtoupper($type); + + if ( ! in_array($type, array('MAX', 'MIN', 'AVG', 'SUM'))) + { + show_error('Invalid function type: '.$type); + } + + if ($alias === '') + { + $alias = $this->_create_alias_from_table(trim($select)); + } + + $sql = $type.'('.$this->protect_identifiers(trim($select)).') AS '.$this->escape_identifiers(trim($alias)); + + $this->qb_select[] = $sql; + $this->qb_no_escape[] = NULL; + + if ($this->qb_caching === TRUE) + { + $this->qb_cache_select[] = $sql; + $this->qb_cache_exists[] = 'select'; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Determines the alias name based on the table + * + * @param string $item + * @return string + */ + protected function _create_alias_from_table($item) + { + if (strpos($item, '.') !== FALSE) + { + $item = explode('.', $item); + return end($item); + } + + return $item; + } + + // -------------------------------------------------------------------- + + /** + * DISTINCT + * + * Sets a flag which tells the query string compiler to add DISTINCT + * + * @param bool $val + * @return CI_DB_query_builder + */ + public function distinct($val = TRUE) + { + $this->qb_distinct = is_bool($val) ? $val : TRUE; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * From + * + * Generates the FROM portion of the query + * + * @param mixed $from can be a string or array + * @return CI_DB_query_builder + */ + public function from($from) + { + foreach ((array) $from as $val) + { + if (strpos($val, ',') !== FALSE) + { + foreach (explode(',', $val) as $v) + { + $v = trim($v); + $this->_track_aliases($v); + + $this->qb_from[] = $v = $this->protect_identifiers($v, TRUE, NULL, FALSE); + + if ($this->qb_caching === TRUE) + { + $this->qb_cache_from[] = $v; + $this->qb_cache_exists[] = 'from'; + } + } + } + else + { + $val = trim($val); + + // Extract any aliases that might exist. We use this information + // in the protect_identifiers to know whether to add a table prefix + $this->_track_aliases($val); + + $this->qb_from[] = $val = $this->protect_identifiers($val, TRUE, NULL, FALSE); + + if ($this->qb_caching === TRUE) + { + $this->qb_cache_from[] = $val; + $this->qb_cache_exists[] = 'from'; + } + } + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * JOIN + * + * Generates the JOIN portion of the query + * + * @param string + * @param string the join condition + * @param string the type of join + * @param string whether not to try to escape identifiers + * @return CI_DB_query_builder + */ + public function join($table, $cond, $type = '', $escape = NULL) + { + if ($type !== '') + { + $type = strtoupper(trim($type)); + + if ( ! in_array($type, array('LEFT', 'RIGHT', 'OUTER', 'INNER', 'LEFT OUTER', 'RIGHT OUTER'), TRUE)) + { + $type = ''; + } + else + { + $type .= ' '; + } + } + + // Extract any aliases that might exist. We use this information + // in the protect_identifiers to know whether to add a table prefix + $this->_track_aliases($table); + + is_bool($escape) OR $escape = $this->_protect_identifiers; + + if ( ! $this->_has_operator($cond)) + { + $cond = ' USING ('.($escape ? $this->escape_identifiers($cond) : $cond).')'; + } + elseif ($escape === FALSE) + { + $cond = ' ON '.$cond; + } + else + { + // Split multiple conditions + if (preg_match_all('/\sAND\s|\sOR\s/i', $cond, $joints, PREG_OFFSET_CAPTURE)) + { + $conditions = array(); + $joints = $joints[0]; + array_unshift($joints, array('', 0)); + + for ($i = count($joints) - 1, $pos = strlen($cond); $i >= 0; $i--) + { + $joints[$i][1] += strlen($joints[$i][0]); // offset + $conditions[$i] = substr($cond, $joints[$i][1], $pos - $joints[$i][1]); + $pos = $joints[$i][1] - strlen($joints[$i][0]); + $joints[$i] = $joints[$i][0]; + } + } + else + { + $conditions = array($cond); + $joints = array(''); + } + + $cond = ' ON '; + for ($i = 0, $c = count($conditions); $i < $c; $i++) + { + $operator = $this->_get_operator($conditions[$i]); + $cond .= $joints[$i]; + $cond .= preg_match("/(\(*)?([\[\]\w\.'-]+)".preg_quote($operator)."(.*)/i", $conditions[$i], $match) + ? $match[1].$this->protect_identifiers($match[2]).$operator.$this->protect_identifiers($match[3]) + : $conditions[$i]; + } + } + + // Do we want to escape the table name? + if ($escape === TRUE) + { + $table = $this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + // Assemble the JOIN statement + $this->qb_join[] = $join = $type.'JOIN '.$table.$cond; + + if ($this->qb_caching === TRUE) + { + $this->qb_cache_join[] = $join; + $this->qb_cache_exists[] = 'join'; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * WHERE + * + * Generates the WHERE portion of the query. + * Separates multiple calls with 'AND'. + * + * @param mixed + * @param mixed + * @param bool + * @return CI_DB_query_builder + */ + public function where($key, $value = NULL, $escape = NULL) + { + return $this->_wh('qb_where', $key, $value, 'AND ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * OR WHERE + * + * Generates the WHERE portion of the query. + * Separates multiple calls with 'OR'. + * + * @param mixed + * @param mixed + * @param bool + * @return CI_DB_query_builder + */ + public function or_where($key, $value = NULL, $escape = NULL) + { + return $this->_wh('qb_where', $key, $value, 'OR ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * WHERE, HAVING + * + * @used-by where() + * @used-by or_where() + * @used-by having() + * @used-by or_having() + * + * @param string $qb_key 'qb_where' or 'qb_having' + * @param mixed $key + * @param mixed $value + * @param string $type + * @param bool $escape + * @return CI_DB_query_builder + */ + protected function _wh($qb_key, $key, $value = NULL, $type = 'AND ', $escape = NULL) + { + $qb_cache_key = ($qb_key === 'qb_having') ? 'qb_cache_having' : 'qb_cache_where'; + + if ( ! is_array($key)) + { + $key = array($key => $value); + } + + // If the escape value was not set will base it on the global setting + is_bool($escape) OR $escape = $this->_protect_identifiers; + + foreach ($key as $k => $v) + { + $prefix = (count($this->$qb_key) === 0 && count($this->$qb_cache_key) === 0) + ? $this->_group_get_type('') + : $this->_group_get_type($type); + + if ($v !== NULL) + { + if ($escape === TRUE) + { + $v = ' '.$this->escape($v); + } + + if ( ! $this->_has_operator($k)) + { + $k .= ' = '; + } + } + elseif ( ! $this->_has_operator($k)) + { + // value appears not to have been set, assign the test to IS NULL + $k .= ' IS NULL'; + } + elseif (preg_match('/\s*(!?=|<>|\sIS(?:\s+NOT)?\s)\s*$/i', $k, $match, PREG_OFFSET_CAPTURE)) + { + $k = substr($k, 0, $match[0][1]).($match[1][0] === '=' ? ' IS NULL' : ' IS NOT NULL'); + } + + $this->{$qb_key}[] = array('condition' => $prefix.$k.$v, 'escape' => $escape); + if ($this->qb_caching === TRUE) + { + $this->{$qb_cache_key}[] = array('condition' => $prefix.$k.$v, 'escape' => $escape); + $this->qb_cache_exists[] = substr($qb_key, 3); + } + + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * WHERE IN + * + * Generates a WHERE field IN('item', 'item') SQL query, + * joined with 'AND' if appropriate. + * + * @param string $key The field to search + * @param array $values The values searched on + * @param bool $escape + * @return CI_DB_query_builder + */ + public function where_in($key = NULL, $values = NULL, $escape = NULL) + { + return $this->_where_in($key, $values, FALSE, 'AND ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * OR WHERE IN + * + * Generates a WHERE field IN('item', 'item') SQL query, + * joined with 'OR' if appropriate. + * + * @param string $key The field to search + * @param array $values The values searched on + * @param bool $escape + * @return CI_DB_query_builder + */ + public function or_where_in($key = NULL, $values = NULL, $escape = NULL) + { + return $this->_where_in($key, $values, FALSE, 'OR ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * WHERE NOT IN + * + * Generates a WHERE field NOT IN('item', 'item') SQL query, + * joined with 'AND' if appropriate. + * + * @param string $key The field to search + * @param array $values The values searched on + * @param bool $escape + * @return CI_DB_query_builder + */ + public function where_not_in($key = NULL, $values = NULL, $escape = NULL) + { + return $this->_where_in($key, $values, TRUE, 'AND ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * OR WHERE NOT IN + * + * Generates a WHERE field NOT IN('item', 'item') SQL query, + * joined with 'OR' if appropriate. + * + * @param string $key The field to search + * @param array $values The values searched on + * @param bool $escape + * @return CI_DB_query_builder + */ + public function or_where_not_in($key = NULL, $values = NULL, $escape = NULL) + { + return $this->_where_in($key, $values, TRUE, 'OR ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * Internal WHERE IN + * + * @used-by where_in() + * @used-by or_where_in() + * @used-by where_not_in() + * @used-by or_where_not_in() + * + * @param string $key The field to search + * @param array $values The values searched on + * @param bool $not If the statement would be IN or NOT IN + * @param string $type + * @param bool $escape + * @return CI_DB_query_builder + */ + protected function _where_in($key = NULL, $values = NULL, $not = FALSE, $type = 'AND ', $escape = NULL) + { + if ($key === NULL OR $values === NULL) + { + return $this; + } + + if ( ! is_array($values)) + { + $values = array($values); + } + + is_bool($escape) OR $escape = $this->_protect_identifiers; + + $not = ($not) ? ' NOT' : ''; + + if ($escape === TRUE) + { + $where_in = array(); + foreach ($values as $value) + { + $where_in[] = $this->escape($value); + } + } + else + { + $where_in = array_values($values); + } + + $prefix = (count($this->qb_where) === 0 && count($this->qb_cache_where) === 0) + ? $this->_group_get_type('') + : $this->_group_get_type($type); + + $where_in = array( + 'condition' => $prefix.$key.$not.' IN('.implode(', ', $where_in).')', + 'escape' => $escape + ); + + $this->qb_where[] = $where_in; + if ($this->qb_caching === TRUE) + { + $this->qb_cache_where[] = $where_in; + $this->qb_cache_exists[] = 'where'; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * LIKE + * + * Generates a %LIKE% portion of the query. + * Separates multiple calls with 'AND'. + * + * @param mixed $field + * @param string $match + * @param string $side + * @param bool $escape + * @return CI_DB_query_builder + */ + public function like($field, $match = '', $side = 'both', $escape = NULL) + { + return $this->_like($field, $match, 'AND ', $side, '', $escape); + } + + // -------------------------------------------------------------------- + + /** + * NOT LIKE + * + * Generates a NOT LIKE portion of the query. + * Separates multiple calls with 'AND'. + * + * @param mixed $field + * @param string $match + * @param string $side + * @param bool $escape + * @return CI_DB_query_builder + */ + public function not_like($field, $match = '', $side = 'both', $escape = NULL) + { + return $this->_like($field, $match, 'AND ', $side, 'NOT', $escape); + } + + // -------------------------------------------------------------------- + + /** + * OR LIKE + * + * Generates a %LIKE% portion of the query. + * Separates multiple calls with 'OR'. + * + * @param mixed $field + * @param string $match + * @param string $side + * @param bool $escape + * @return CI_DB_query_builder + */ + public function or_like($field, $match = '', $side = 'both', $escape = NULL) + { + return $this->_like($field, $match, 'OR ', $side, '', $escape); + } + + // -------------------------------------------------------------------- + + /** + * OR NOT LIKE + * + * Generates a NOT LIKE portion of the query. + * Separates multiple calls with 'OR'. + * + * @param mixed $field + * @param string $match + * @param string $side + * @param bool $escape + * @return CI_DB_query_builder + */ + public function or_not_like($field, $match = '', $side = 'both', $escape = NULL) + { + return $this->_like($field, $match, 'OR ', $side, 'NOT', $escape); + } + + // -------------------------------------------------------------------- + + /** + * Internal LIKE + * + * @used-by like() + * @used-by or_like() + * @used-by not_like() + * @used-by or_not_like() + * + * @param mixed $field + * @param string $match + * @param string $type + * @param string $side + * @param string $not + * @param bool $escape + * @return CI_DB_query_builder + */ + protected function _like($field, $match = '', $type = 'AND ', $side = 'both', $not = '', $escape = NULL) + { + if ( ! is_array($field)) + { + $field = array($field => $match); + } + + is_bool($escape) OR $escape = $this->_protect_identifiers; + // lowercase $side in case somebody writes e.g. 'BEFORE' instead of 'before' (doh) + $side = strtolower($side); + + foreach ($field as $k => $v) + { + $prefix = (count($this->qb_where) === 0 && count($this->qb_cache_where) === 0) + ? $this->_group_get_type('') : $this->_group_get_type($type); + + if ($escape === TRUE) + { + $v = $this->escape_like_str($v); + } + + if ($side === 'none') + { + $like_statement = "{$prefix} {$k} {$not} LIKE '{$v}'"; + } + elseif ($side === 'before') + { + $like_statement = "{$prefix} {$k} {$not} LIKE '%{$v}'"; + } + elseif ($side === 'after') + { + $like_statement = "{$prefix} {$k} {$not} LIKE '{$v}%'"; + } + else + { + $like_statement = "{$prefix} {$k} {$not} LIKE '%{$v}%'"; + } + + // some platforms require an escape sequence definition for LIKE wildcards + if ($escape === TRUE && $this->_like_escape_str !== '') + { + $like_statement .= sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + $this->qb_where[] = array('condition' => $like_statement, 'escape' => $escape); + if ($this->qb_caching === TRUE) + { + $this->qb_cache_where[] = array('condition' => $like_statement, 'escape' => $escape); + $this->qb_cache_exists[] = 'where'; + } + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Starts a query group. + * + * @param string $not (Internal use only) + * @param string $type (Internal use only) + * @return CI_DB_query_builder + */ + public function group_start($not = '', $type = 'AND ') + { + $type = $this->_group_get_type($type); + + $this->qb_where_group_started = TRUE; + $prefix = (count($this->qb_where) === 0 && count($this->qb_cache_where) === 0) ? '' : $type; + $where = array( + 'condition' => $prefix.$not.str_repeat(' ', ++$this->qb_where_group_count).' (', + 'escape' => FALSE + ); + + $this->qb_where[] = $where; + if ($this->qb_caching) + { + $this->qb_cache_where[] = $where; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Starts a query group, but ORs the group + * + * @return CI_DB_query_builder + */ + public function or_group_start() + { + return $this->group_start('', 'OR '); + } + + // -------------------------------------------------------------------- + + /** + * Starts a query group, but NOTs the group + * + * @return CI_DB_query_builder + */ + public function not_group_start() + { + return $this->group_start('NOT ', 'AND '); + } + + // -------------------------------------------------------------------- + + /** + * Starts a query group, but OR NOTs the group + * + * @return CI_DB_query_builder + */ + public function or_not_group_start() + { + return $this->group_start('NOT ', 'OR '); + } + + // -------------------------------------------------------------------- + + /** + * Ends a query group + * + * @return CI_DB_query_builder + */ + public function group_end() + { + $this->qb_where_group_started = FALSE; + $where = array( + 'condition' => str_repeat(' ', $this->qb_where_group_count--).')', + 'escape' => FALSE + ); + + $this->qb_where[] = $where; + if ($this->qb_caching) + { + $this->qb_cache_where[] = $where; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Group_get_type + * + * @used-by group_start() + * @used-by _like() + * @used-by _wh() + * @used-by _where_in() + * + * @param string $type + * @return string + */ + protected function _group_get_type($type) + { + if ($this->qb_where_group_started) + { + $type = ''; + $this->qb_where_group_started = FALSE; + } + + return $type; + } + + // -------------------------------------------------------------------- + + /** + * GROUP BY + * + * @param string $by + * @param bool $escape + * @return CI_DB_query_builder + */ + public function group_by($by, $escape = NULL) + { + is_bool($escape) OR $escape = $this->_protect_identifiers; + + if (is_string($by)) + { + $by = ($escape === TRUE) + ? explode(',', $by) + : array($by); + } + + foreach ($by as $val) + { + $val = trim($val); + + if ($val !== '') + { + $val = array('field' => $val, 'escape' => $escape); + + $this->qb_groupby[] = $val; + if ($this->qb_caching === TRUE) + { + $this->qb_cache_groupby[] = $val; + $this->qb_cache_exists[] = 'groupby'; + } + } + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * HAVING + * + * Separates multiple calls with 'AND'. + * + * @param string $key + * @param string $value + * @param bool $escape + * @return CI_DB_query_builder + */ + public function having($key, $value = NULL, $escape = NULL) + { + return $this->_wh('qb_having', $key, $value, 'AND ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * OR HAVING + * + * Separates multiple calls with 'OR'. + * + * @param string $key + * @param string $value + * @param bool $escape + * @return CI_DB_query_builder + */ + public function or_having($key, $value = NULL, $escape = NULL) + { + return $this->_wh('qb_having', $key, $value, 'OR ', $escape); + } + + // -------------------------------------------------------------------- + + /** + * ORDER BY + * + * @param string $orderby + * @param string $direction ASC, DESC or RANDOM + * @param bool $escape + * @return CI_DB_query_builder + */ + public function order_by($orderby, $direction = '', $escape = NULL) + { + $direction = strtoupper(trim($direction)); + + if ($direction === 'RANDOM') + { + $direction = ''; + + // Do we have a seed value? + $orderby = ctype_digit((string) $orderby) + ? sprintf($this->_random_keyword[1], $orderby) + : $this->_random_keyword[0]; + } + elseif (empty($orderby)) + { + return $this; + } + elseif ($direction !== '') + { + $direction = in_array($direction, array('ASC', 'DESC'), TRUE) ? ' '.$direction : ''; + } + + is_bool($escape) OR $escape = $this->_protect_identifiers; + + if ($escape === FALSE) + { + $qb_orderby[] = array('field' => $orderby, 'direction' => $direction, 'escape' => FALSE); + } + else + { + $qb_orderby = array(); + foreach (explode(',', $orderby) as $field) + { + $qb_orderby[] = ($direction === '' && preg_match('/\s+(ASC|DESC)$/i', rtrim($field), $match, PREG_OFFSET_CAPTURE)) + ? array('field' => ltrim(substr($field, 0, $match[0][1])), 'direction' => ' '.$match[1][0], 'escape' => TRUE) + : array('field' => trim($field), 'direction' => $direction, 'escape' => TRUE); + } + } + + $this->qb_orderby = array_merge($this->qb_orderby, $qb_orderby); + if ($this->qb_caching === TRUE) + { + $this->qb_cache_orderby = array_merge($this->qb_cache_orderby, $qb_orderby); + $this->qb_cache_exists[] = 'orderby'; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * @param int $value LIMIT value + * @param int $offset OFFSET value + * @return CI_DB_query_builder + */ + public function limit($value, $offset = 0) + { + is_null($value) OR $this->qb_limit = (int) $value; + empty($offset) OR $this->qb_offset = (int) $offset; + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Sets the OFFSET value + * + * @param int $offset OFFSET value + * @return CI_DB_query_builder + */ + public function offset($offset) + { + empty($offset) OR $this->qb_offset = (int) $offset; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * LIMIT string + * + * Generates a platform-specific LIMIT clause. + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + return $sql.' LIMIT '.($this->qb_offset ? $this->qb_offset.', ' : '').(int) $this->qb_limit; + } + + // -------------------------------------------------------------------- + + /** + * The "set" function. + * + * Allows key/value pairs to be set for inserting or updating + * + * @param mixed + * @param string + * @param bool + * @return CI_DB_query_builder + */ + public function set($key, $value = '', $escape = NULL) + { + $key = $this->_object_to_array($key); + + if ( ! is_array($key)) + { + $key = array($key => $value); + } + + is_bool($escape) OR $escape = $this->_protect_identifiers; + + foreach ($key as $k => $v) + { + $this->qb_set[$this->protect_identifiers($k, FALSE, $escape)] = ($escape) + ? $this->escape($v) : $v; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Get SELECT query string + * + * Compiles a SELECT query string and returns the sql. + * + * @param string the table name to select from (optional) + * @param bool TRUE: resets QB values; FALSE: leave QB values alone + * @return string + */ + public function get_compiled_select($table = '', $reset = TRUE) + { + if ($table !== '') + { + $this->_track_aliases($table); + $this->from($table); + } + + $select = $this->_compile_select(); + + if ($reset === TRUE) + { + $this->_reset_select(); + } + + return $select; + } + + // -------------------------------------------------------------------- + + /** + * Get + * + * Compiles the select statement based on the other functions called + * and runs the query + * + * @param string the table + * @param string the limit clause + * @param string the offset clause + * @return CI_DB_result + */ + public function get($table = '', $limit = NULL, $offset = NULL) + { + if ($table !== '') + { + $this->_track_aliases($table); + $this->from($table); + } + + if ( ! empty($limit)) + { + $this->limit($limit, $offset); + } + + $result = $this->query($this->_compile_select()); + $this->_reset_select(); + return $result; + } + + // -------------------------------------------------------------------- + + /** + * "Count All Results" query + * + * Generates a platform-specific query string that counts all records + * returned by an Query Builder query. + * + * @param string + * @param bool the reset clause + * @return int + */ + public function count_all_results($table = '', $reset = TRUE) + { + if ($table !== '') + { + $this->_track_aliases($table); + $this->from($table); + } + + // ORDER BY usage is often problematic here (most notably + // on Microsoft SQL Server) and ultimately unnecessary + // for selecting COUNT(*) ... + $qb_orderby = $this->qb_orderby; + $qb_cache_orderby = $this->qb_cache_orderby; + $this->qb_orderby = $this->qb_cache_orderby = array(); + + $result = ($this->qb_distinct === TRUE OR ! empty($this->qb_groupby) OR ! empty($this->qb_cache_groupby) OR $this->qb_limit OR $this->qb_offset) + ? $this->query($this->_count_string.$this->protect_identifiers('numrows')."\nFROM (\n".$this->_compile_select()."\n) CI_count_all_results") + : $this->query($this->_compile_select($this->_count_string.$this->protect_identifiers('numrows'))); + + if ($reset === TRUE) + { + $this->_reset_select(); + } + else + { + $this->qb_orderby = $qb_orderby; + $this->qb_cache_orderby = $qb_cache_orderby; + } + + if ($result->num_rows() === 0) + { + return 0; + } + + $row = $result->row(); + return (int) $row->numrows; + } + + // -------------------------------------------------------------------- + + /** + * Get_Where + * + * Allows the where clause, limit and offset to be added directly + * + * @param string $table + * @param string $where + * @param int $limit + * @param int $offset + * @return CI_DB_result + */ + public function get_where($table = '', $where = NULL, $limit = NULL, $offset = NULL) + { + if ($table !== '') + { + $this->from($table); + } + + if ($where !== NULL) + { + $this->where($where); + } + + if ( ! empty($limit)) + { + $this->limit($limit, $offset); + } + + $result = $this->query($this->_compile_select()); + $this->_reset_select(); + return $result; + } + + // -------------------------------------------------------------------- + + /** + * Insert_Batch + * + * Compiles batch insert strings and runs the queries + * + * @param string $table Table to insert into + * @param array $set An associative array of insert values + * @param bool $escape Whether to escape values and identifiers + * @return int Number of rows inserted or FALSE on failure + */ + public function insert_batch($table, $set = NULL, $escape = NULL, $batch_size = 100) + { + if ($set === NULL) + { + if (empty($this->qb_set)) + { + return ($this->db_debug) ? $this->display_error('db_must_use_set') : FALSE; + } + } + else + { + if (empty($set)) + { + return ($this->db_debug) ? $this->display_error('insert_batch() called with no data') : FALSE; + } + + $this->set_insert_batch($set, '', $escape); + } + + if (strlen($table) === 0) + { + if ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + $table = $this->qb_from[0]; + } + + // Batch this baby + $affected_rows = 0; + for ($i = 0, $total = count($this->qb_set); $i < $total; $i += $batch_size) + { + if ($this->query($this->_insert_batch($this->protect_identifiers($table, TRUE, $escape, FALSE), $this->qb_keys, array_slice($this->qb_set, $i, $batch_size)))) + { + $affected_rows += $this->affected_rows(); + } + } + + $this->_reset_write(); + return $affected_rows; + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data. + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string + */ + protected function _insert_batch($table, $keys, $values) + { + return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES '.implode(', ', $values); + } + + // -------------------------------------------------------------------- + + /** + * The "set_insert_batch" function. Allows key/value pairs to be set for batch inserts + * + * @param mixed + * @param string + * @param bool + * @return CI_DB_query_builder + */ + public function set_insert_batch($key, $value = '', $escape = NULL) + { + $key = $this->_object_to_array_batch($key); + + if ( ! is_array($key)) + { + $key = array($key => $value); + } + + is_bool($escape) OR $escape = $this->_protect_identifiers; + + $keys = array_keys($this->_object_to_array(reset($key))); + sort($keys); + + foreach ($key as $row) + { + $row = $this->_object_to_array($row); + if (count(array_diff($keys, array_keys($row))) > 0 OR count(array_diff(array_keys($row), $keys)) > 0) + { + // batch function above returns an error on an empty array + $this->qb_set[] = array(); + return; + } + + ksort($row); // puts $row in the same order as our keys + + if ($escape !== FALSE) + { + $clean = array(); + foreach ($row as $value) + { + $clean[] = $this->escape($value); + } + + $row = $clean; + } + + $this->qb_set[] = '('.implode(',', $row).')'; + } + + foreach ($keys as $k) + { + $this->qb_keys[] = $this->protect_identifiers($k, FALSE, $escape); + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Get INSERT query string + * + * Compiles an insert query and returns the sql + * + * @param string the table to insert into + * @param bool TRUE: reset QB values; FALSE: leave QB values alone + * @return string + */ + public function get_compiled_insert($table = '', $reset = TRUE) + { + if ($this->_validate_insert($table) === FALSE) + { + return FALSE; + } + + $sql = $this->_insert( + $this->protect_identifiers( + $this->qb_from[0], TRUE, NULL, FALSE + ), + array_keys($this->qb_set), + array_values($this->qb_set) + ); + + if ($reset === TRUE) + { + $this->_reset_write(); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Insert + * + * Compiles an insert string and runs the query + * + * @param string the table to insert data into + * @param array an associative array of insert values + * @param bool $escape Whether to escape values and identifiers + * @return bool TRUE on success, FALSE on failure + */ + public function insert($table = '', $set = NULL, $escape = NULL) + { + if ($set !== NULL) + { + $this->set($set, '', $escape); + } + + if ($this->_validate_insert($table) === FALSE) + { + return FALSE; + } + + $sql = $this->_insert( + $this->protect_identifiers( + $this->qb_from[0], TRUE, $escape, FALSE + ), + array_keys($this->qb_set), + array_values($this->qb_set) + ); + + $this->_reset_write(); + return $this->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Validate Insert + * + * This method is used by both insert() and get_compiled_insert() to + * validate that the there data is actually being set and that table + * has been chosen to be inserted into. + * + * @param string the table to insert data into + * @return string + */ + protected function _validate_insert($table = '') + { + if (count($this->qb_set) === 0) + { + return ($this->db_debug) ? $this->display_error('db_must_use_set') : FALSE; + } + + if ($table !== '') + { + $this->qb_from[0] = $table; + } + elseif ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Replace + * + * Compiles an replace into string and runs the query + * + * @param string the table to replace data into + * @param array an associative array of insert values + * @return bool TRUE on success, FALSE on failure + */ + public function replace($table = '', $set = NULL) + { + if ($set !== NULL) + { + $this->set($set); + } + + if (count($this->qb_set) === 0) + { + return ($this->db_debug) ? $this->display_error('db_must_use_set') : FALSE; + } + + if ($table === '') + { + if ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + $table = $this->qb_from[0]; + } + + $sql = $this->_replace($this->protect_identifiers($table, TRUE, NULL, FALSE), array_keys($this->qb_set), array_values($this->qb_set)); + + $this->_reset_write(); + return $this->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Replace statement + * + * Generates a platform-specific replace string from the supplied data + * + * @param string the table name + * @param array the insert keys + * @param array the insert values + * @return string + */ + protected function _replace($table, $keys, $values) + { + return 'REPLACE INTO '.$table.' ('.implode(', ', $keys).') VALUES ('.implode(', ', $values).')'; + } + + // -------------------------------------------------------------------- + + /** + * FROM tables + * + * Groups tables in FROM clauses if needed, so there is no confusion + * about operator precedence. + * + * Note: This is only used (and overridden) by MySQL and CUBRID. + * + * @return string + */ + protected function _from_tables() + { + return implode(', ', $this->qb_from); + } + + // -------------------------------------------------------------------- + + /** + * Get UPDATE query string + * + * Compiles an update query and returns the sql + * + * @param string the table to update + * @param bool TRUE: reset QB values; FALSE: leave QB values alone + * @return string + */ + public function get_compiled_update($table = '', $reset = TRUE) + { + // Combine any cached components with the current statements + $this->_merge_cache(); + + if ($this->_validate_update($table) === FALSE) + { + return FALSE; + } + + $sql = $this->_update($this->qb_from[0], $this->qb_set); + + if ($reset === TRUE) + { + $this->_reset_write(); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * UPDATE + * + * Compiles an update string and runs the query. + * + * @param string $table + * @param array $set An associative array of update values + * @param mixed $where + * @param int $limit + * @return bool TRUE on success, FALSE on failure + */ + public function update($table = '', $set = NULL, $where = NULL, $limit = NULL) + { + // Combine any cached components with the current statements + $this->_merge_cache(); + + if ($set !== NULL) + { + $this->set($set); + } + + if ($this->_validate_update($table) === FALSE) + { + return FALSE; + } + + if ($where !== NULL) + { + $this->where($where); + } + + if ( ! empty($limit)) + { + $this->limit($limit); + } + + $sql = $this->_update($this->qb_from[0], $this->qb_set); + $this->_reset_write(); + return $this->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Validate Update + * + * This method is used by both update() and get_compiled_update() to + * validate that data is actually being set and that a table has been + * chosen to be update. + * + * @param string the table to update data on + * @return bool + */ + protected function _validate_update($table) + { + if (count($this->qb_set) === 0) + { + return ($this->db_debug) ? $this->display_error('db_must_use_set') : FALSE; + } + + if ($table !== '') + { + $this->qb_from = array($this->protect_identifiers($table, TRUE, NULL, FALSE)); + } + elseif ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Update_Batch + * + * Compiles an update string and runs the query + * + * @param string the table to retrieve the results from + * @param array an associative array of update values + * @param string the where key + * @return int number of rows affected or FALSE on failure + */ + public function update_batch($table, $set = NULL, $index = NULL, $batch_size = 100) + { + // Combine any cached components with the current statements + $this->_merge_cache(); + + if ($index === NULL) + { + return ($this->db_debug) ? $this->display_error('db_must_use_index') : FALSE; + } + + if ($set === NULL) + { + if (empty($this->qb_set_ub)) + { + return ($this->db_debug) ? $this->display_error('db_must_use_set') : FALSE; + } + } + else + { + if (empty($set)) + { + return ($this->db_debug) ? $this->display_error('update_batch() called with no data') : FALSE; + } + + $this->set_update_batch($set, $index); + } + + if (strlen($table) === 0) + { + if ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + $table = $this->qb_from[0]; + } + + // Batch this baby + $affected_rows = 0; + for ($i = 0, $total = count($this->qb_set_ub); $i < $total; $i += $batch_size) + { + if ($this->query($this->_update_batch($this->protect_identifiers($table, TRUE, NULL, FALSE), array_slice($this->qb_set_ub, $i, $batch_size), $index))) + { + $affected_rows += $this->affected_rows(); + } + + $this->qb_where = array(); + } + + $this->_reset_write(); + return $affected_rows; + } + + // -------------------------------------------------------------------- + + /** + * Update_Batch statement + * + * Generates a platform-specific batch update string from the supplied data + * + * @param string $table Table name + * @param array $values Update data + * @param string $index WHERE key + * @return string + */ + protected function _update_batch($table, $values, $index) + { + $ids = array(); + foreach ($values as $key => $val) + { + $ids[] = $val[$index]['value']; + + foreach (array_keys($val) as $field) + { + if ($field !== $index) + { + $final[$val[$field]['field']][] = 'WHEN '.$val[$index]['field'].' = '.$val[$index]['value'].' THEN '.$val[$field]['value']; + } + } + } + + $cases = ''; + foreach ($final as $k => $v) + { + $cases .= $k." = CASE \n" + .implode("\n", $v)."\n" + .'ELSE '.$k.' END, '; + } + + $this->where($val[$index]['field'].' IN('.implode(',', $ids).')', NULL, FALSE); + + return 'UPDATE '.$table.' SET '.substr($cases, 0, -2).$this->_compile_wh('qb_where'); + } + + // -------------------------------------------------------------------- + + /** + * The "set_update_batch" function. Allows key/value pairs to be set for batch updating + * + * @param array + * @param string + * @param bool + * @return CI_DB_query_builder + */ + public function set_update_batch($key, $index = '', $escape = NULL) + { + $key = $this->_object_to_array_batch($key); + + if ( ! is_array($key)) + { + // @todo error + } + + is_bool($escape) OR $escape = $this->_protect_identifiers; + + foreach ($key as $k => $v) + { + $index_set = FALSE; + $clean = array(); + foreach ($v as $k2 => $v2) + { + if ($k2 === $index) + { + $index_set = TRUE; + } + + $clean[$k2] = array( + 'field' => $this->protect_identifiers($k2, FALSE, $escape), + 'value' => ($escape === FALSE ? $v2 : $this->escape($v2)) + ); + } + + if ($index_set === FALSE) + { + return $this->display_error('db_batch_missing_index'); + } + + $this->qb_set_ub[] = $clean; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Empty Table + * + * Compiles a delete string and runs "DELETE FROM table" + * + * @param string the table to empty + * @return bool TRUE on success, FALSE on failure + */ + public function empty_table($table = '') + { + if ($table === '') + { + if ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + $table = $this->qb_from[0]; + } + else + { + $table = $this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + $sql = $this->_delete($table); + $this->_reset_write(); + return $this->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Truncate + * + * Compiles a truncate string and runs the query + * If the database does not support the truncate() command + * This function maps to "DELETE FROM table" + * + * @param string the table to truncate + * @return bool TRUE on success, FALSE on failure + */ + public function truncate($table = '') + { + if ($table === '') + { + if ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + $table = $this->qb_from[0]; + } + else + { + $table = $this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + $sql = $this->_truncate($table); + $this->_reset_write(); + return $this->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the truncate() command, + * then this method maps to 'DELETE FROM table' + * + * @param string the table name + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Get DELETE query string + * + * Compiles a delete query string and returns the sql + * + * @param string the table to delete from + * @param bool TRUE: reset QB values; FALSE: leave QB values alone + * @return string + */ + public function get_compiled_delete($table = '', $reset = TRUE) + { + $this->return_delete_sql = TRUE; + $sql = $this->delete($table, '', NULL, $reset); + $this->return_delete_sql = FALSE; + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Delete + * + * Compiles a delete string and runs the query + * + * @param mixed the table(s) to delete from. String or array + * @param mixed the where clause + * @param mixed the limit clause + * @param bool + * @return mixed + */ + public function delete($table = '', $where = '', $limit = NULL, $reset_data = TRUE) + { + // Combine any cached components with the current statements + $this->_merge_cache(); + + if ($table === '') + { + if ( ! isset($this->qb_from[0])) + { + return ($this->db_debug) ? $this->display_error('db_must_set_table') : FALSE; + } + + $table = $this->qb_from[0]; + } + elseif (is_array($table)) + { + empty($where) && $reset_data = FALSE; + + foreach ($table as $single_table) + { + $this->delete($single_table, $where, $limit, $reset_data); + } + + return; + } + else + { + $table = $this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + if ($where !== '') + { + $this->where($where); + } + + if ( ! empty($limit)) + { + $this->limit($limit); + } + + if (count($this->qb_where) === 0) + { + return ($this->db_debug) ? $this->display_error('db_del_must_use_where') : FALSE; + } + + $sql = $this->_delete($table); + if ($reset_data) + { + $this->_reset_write(); + } + + return ($this->return_delete_sql === TRUE) ? $sql : $this->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string the table name + * @return string + */ + protected function _delete($table) + { + return 'DELETE FROM '.$table.$this->_compile_wh('qb_where') + .($this->qb_limit ? ' LIMIT '.$this->qb_limit : ''); + } + + // -------------------------------------------------------------------- + + /** + * DB Prefix + * + * Prepends a database prefix if one exists in configuration + * + * @param string the table + * @return string + */ + public function dbprefix($table = '') + { + if ($table === '') + { + $this->display_error('db_table_name_required'); + } + + return $this->dbprefix.$table; + } + + // -------------------------------------------------------------------- + + /** + * Set DB Prefix + * + * Set's the DB Prefix to something new without needing to reconnect + * + * @param string the prefix + * @return string + */ + public function set_dbprefix($prefix = '') + { + return $this->dbprefix = $prefix; + } + + // -------------------------------------------------------------------- + + /** + * Track Aliases + * + * Used to track SQL statements written with aliased tables. + * + * @param string The table to inspect + * @return string + */ + protected function _track_aliases($table) + { + if (is_array($table)) + { + foreach ($table as $t) + { + $this->_track_aliases($t); + } + return; + } + + // Does the string contain a comma? If so, we need to separate + // the string into discreet statements + if (strpos($table, ',') !== FALSE) + { + return $this->_track_aliases(explode(',', $table)); + } + + // if a table alias is used we can recognize it by a space + if (strpos($table, ' ') !== FALSE) + { + // if the alias is written with the AS keyword, remove it + $table = preg_replace('/\s+AS\s+/i', ' ', $table); + + // Grab the alias + $table = trim(strrchr($table, ' ')); + + // Store the alias, if it doesn't already exist + if ( ! in_array($table, $this->qb_aliased_tables, TRUE)) + { + $this->qb_aliased_tables[] = $table; + if ($this->qb_caching === TRUE && ! in_array($table, $this->qb_cache_aliased_tables, TRUE)) + { + $this->qb_cache_aliased_tables[] = $table; + $this->qb_cache_exists[] = 'aliased_tables'; + } + } + } + } + + // -------------------------------------------------------------------- + + /** + * Compile the SELECT statement + * + * Generates a query string based on which functions were used. + * Should not be called directly. + * + * @param bool $select_override + * @return string + */ + protected function _compile_select($select_override = FALSE) + { + // Combine any cached components with the current statements + $this->_merge_cache(); + + // Write the "select" portion of the query + if ($select_override !== FALSE) + { + $sql = $select_override; + } + else + { + $sql = ( ! $this->qb_distinct) ? 'SELECT ' : 'SELECT DISTINCT '; + + if (count($this->qb_select) === 0) + { + $sql .= '*'; + } + else + { + // Cycle through the "select" portion of the query and prep each column name. + // The reason we protect identifiers here rather than in the select() function + // is because until the user calls the from() function we don't know if there are aliases + foreach ($this->qb_select as $key => $val) + { + $no_escape = isset($this->qb_no_escape[$key]) ? $this->qb_no_escape[$key] : NULL; + $this->qb_select[$key] = $this->protect_identifiers($val, FALSE, $no_escape); + } + + $sql .= implode(', ', $this->qb_select); + } + } + + // Write the "FROM" portion of the query + if (count($this->qb_from) > 0) + { + $sql .= "\nFROM ".$this->_from_tables(); + } + + // Write the "JOIN" portion of the query + if (count($this->qb_join) > 0) + { + $sql .= "\n".implode("\n", $this->qb_join); + } + + $sql .= $this->_compile_wh('qb_where') + .$this->_compile_group_by() + .$this->_compile_wh('qb_having') + .$this->_compile_order_by(); // ORDER BY + + // LIMIT + if ($this->qb_limit OR $this->qb_offset) + { + return $this->_limit($sql."\n"); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Compile WHERE, HAVING statements + * + * Escapes identifiers in WHERE and HAVING statements at execution time. + * + * Required so that aliases are tracked properly, regardless of whether + * where(), or_where(), having(), or_having are called prior to from(), + * join() and dbprefix is added only if needed. + * + * @param string $qb_key 'qb_where' or 'qb_having' + * @return string SQL statement + */ + protected function _compile_wh($qb_key) + { + if (count($this->$qb_key) > 0) + { + for ($i = 0, $c = count($this->$qb_key); $i < $c; $i++) + { + // Is this condition already compiled? + if (is_string($this->{$qb_key}[$i])) + { + continue; + } + elseif ($this->{$qb_key}[$i]['escape'] === FALSE) + { + $this->{$qb_key}[$i] = $this->{$qb_key}[$i]['condition']; + continue; + } + + // Split multiple conditions + $conditions = preg_split( + '/((?:^|\s+)AND\s+|(?:^|\s+)OR\s+)/i', + $this->{$qb_key}[$i]['condition'], + -1, + PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY + ); + + for ($ci = 0, $cc = count($conditions); $ci < $cc; $ci++) + { + if (($op = $this->_get_operator($conditions[$ci])) === FALSE + OR ! preg_match('/^(\(?)(.*)('.preg_quote($op, '/').')\s*(.*(? '(test <= foo)', /* the whole thing */ + // 1 => '(', /* optional */ + // 2 => 'test', /* the field name */ + // 3 => ' <= ', /* $op */ + // 4 => 'foo', /* optional, if $op is e.g. 'IS NULL' */ + // 5 => ')' /* optional */ + // ); + + if ( ! empty($matches[4])) + { + $this->_is_literal($matches[4]) OR $matches[4] = $this->protect_identifiers(trim($matches[4])); + $matches[4] = ' '.$matches[4]; + } + + $conditions[$ci] = $matches[1].$this->protect_identifiers(trim($matches[2])) + .' '.trim($matches[3]).$matches[4].$matches[5]; + } + + $this->{$qb_key}[$i] = implode('', $conditions); + } + + return ($qb_key === 'qb_having' ? "\nHAVING " : "\nWHERE ") + .implode("\n", $this->$qb_key); + } + + return ''; + } + + // -------------------------------------------------------------------- + + /** + * Compile GROUP BY + * + * Escapes identifiers in GROUP BY statements at execution time. + * + * Required so that aliases are tracked properly, regardless of whether + * group_by() is called prior to from(), join() and dbprefix is added + * only if needed. + * + * @return string SQL statement + */ + protected function _compile_group_by() + { + if (count($this->qb_groupby) > 0) + { + for ($i = 0, $c = count($this->qb_groupby); $i < $c; $i++) + { + // Is it already compiled? + if (is_string($this->qb_groupby[$i])) + { + continue; + } + + $this->qb_groupby[$i] = ($this->qb_groupby[$i]['escape'] === FALSE OR $this->_is_literal($this->qb_groupby[$i]['field'])) + ? $this->qb_groupby[$i]['field'] + : $this->protect_identifiers($this->qb_groupby[$i]['field']); + } + + return "\nGROUP BY ".implode(', ', $this->qb_groupby); + } + + return ''; + } + + // -------------------------------------------------------------------- + + /** + * Compile ORDER BY + * + * Escapes identifiers in ORDER BY statements at execution time. + * + * Required so that aliases are tracked properly, regardless of whether + * order_by() is called prior to from(), join() and dbprefix is added + * only if needed. + * + * @return string SQL statement + */ + protected function _compile_order_by() + { + if (empty($this->qb_orderby)) + { + return ''; + } + + for ($i = 0, $c = count($this->qb_orderby); $i < $c; $i++) + { + if (is_string($this->qb_orderby[$i])) + { + continue; + } + + if ($this->qb_orderby[$i]['escape'] !== FALSE && ! $this->_is_literal($this->qb_orderby[$i]['field'])) + { + $this->qb_orderby[$i]['field'] = $this->protect_identifiers($this->qb_orderby[$i]['field']); + } + + $this->qb_orderby[$i] = $this->qb_orderby[$i]['field'].$this->qb_orderby[$i]['direction']; + } + + return "\nORDER BY ".implode(', ', $this->qb_orderby); + } + + // -------------------------------------------------------------------- + + /** + * Object to Array + * + * Takes an object as input and converts the class variables to array key/vals + * + * @param object + * @return array + */ + protected function _object_to_array($object) + { + if ( ! is_object($object)) + { + return $object; + } + + $array = array(); + foreach (get_object_vars($object) as $key => $val) + { + // There are some built in keys we need to ignore for this conversion + if ( ! is_object($val) && ! is_array($val) && $key !== '_parent_name') + { + $array[$key] = $val; + } + } + + return $array; + } + + // -------------------------------------------------------------------- + + /** + * Object to Array + * + * Takes an object as input and converts the class variables to array key/vals + * + * @param object + * @return array + */ + protected function _object_to_array_batch($object) + { + if ( ! is_object($object)) + { + return $object; + } + + $array = array(); + $out = get_object_vars($object); + $fields = array_keys($out); + + foreach ($fields as $val) + { + // There are some built in keys we need to ignore for this conversion + if ($val !== '_parent_name') + { + $i = 0; + foreach ($out[$val] as $data) + { + $array[$i++][$val] = $data; + } + } + } + + return $array; + } + + // -------------------------------------------------------------------- + + /** + * Start Cache + * + * Starts QB caching + * + * @return CI_DB_query_builder + */ + public function start_cache() + { + $this->qb_caching = TRUE; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Stop Cache + * + * Stops QB caching + * + * @return CI_DB_query_builder + */ + public function stop_cache() + { + $this->qb_caching = FALSE; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Flush Cache + * + * Empties the QB cache + * + * @return CI_DB_query_builder + */ + public function flush_cache() + { + $this->_reset_run(array( + 'qb_cache_select' => array(), + 'qb_cache_from' => array(), + 'qb_cache_join' => array(), + 'qb_cache_where' => array(), + 'qb_cache_groupby' => array(), + 'qb_cache_having' => array(), + 'qb_cache_orderby' => array(), + 'qb_cache_set' => array(), + 'qb_cache_exists' => array(), + 'qb_cache_no_escape' => array(), + 'qb_cache_aliased_tables' => array() + )); + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Merge Cache + * + * When called, this function merges any cached QB arrays with + * locally called ones. + * + * @return void + */ + protected function _merge_cache() + { + if (count($this->qb_cache_exists) === 0) + { + return; + } + elseif (in_array('select', $this->qb_cache_exists, TRUE)) + { + $qb_no_escape = $this->qb_cache_no_escape; + } + + foreach (array_unique($this->qb_cache_exists) as $val) // select, from, etc. + { + $qb_variable = 'qb_'.$val; + $qb_cache_var = 'qb_cache_'.$val; + $qb_new = $this->$qb_cache_var; + + for ($i = 0, $c = count($this->$qb_variable); $i < $c; $i++) + { + if ( ! in_array($this->{$qb_variable}[$i], $qb_new, TRUE)) + { + $qb_new[] = $this->{$qb_variable}[$i]; + if ($val === 'select') + { + $qb_no_escape[] = $this->qb_no_escape[$i]; + } + } + } + + $this->$qb_variable = $qb_new; + if ($val === 'select') + { + $this->qb_no_escape = $qb_no_escape; + } + } + } + + // -------------------------------------------------------------------- + + /** + * Is literal + * + * Determines if a string represents a literal value or a field name + * + * @param string $str + * @return bool + */ + protected function _is_literal($str) + { + $str = trim($str); + + if (empty($str) OR ctype_digit($str) OR (string) (float) $str === $str OR in_array(strtoupper($str), array('TRUE', 'FALSE'), TRUE)) + { + return TRUE; + } + + static $_str; + + if (empty($_str)) + { + $_str = ($this->_escape_char !== '"') + ? array('"', "'") : array("'"); + } + + return in_array($str[0], $_str, TRUE); + } + + // -------------------------------------------------------------------- + + /** + * Reset Query Builder values. + * + * Publicly-visible method to reset the QB values. + * + * @return CI_DB_query_builder + */ + public function reset_query() + { + $this->_reset_select(); + $this->_reset_write(); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Resets the query builder values. Called by the get() function + * + * @param array An array of fields to reset + * @return void + */ + protected function _reset_run($qb_reset_items) + { + foreach ($qb_reset_items as $item => $default_value) + { + $this->$item = $default_value; + } + } + + // -------------------------------------------------------------------- + + /** + * Resets the query builder values. Called by the get() function + * + * @return void + */ + protected function _reset_select() + { + $this->_reset_run(array( + 'qb_select' => array(), + 'qb_from' => array(), + 'qb_join' => array(), + 'qb_where' => array(), + 'qb_groupby' => array(), + 'qb_having' => array(), + 'qb_orderby' => array(), + 'qb_aliased_tables' => array(), + 'qb_no_escape' => array(), + 'qb_distinct' => FALSE, + 'qb_limit' => FALSE, + 'qb_offset' => FALSE + )); + } + + // -------------------------------------------------------------------- + + /** + * Resets the query builder "write" values. + * + * Called by the insert() update() insert_batch() update_batch() and delete() functions + * + * @return void + */ + protected function _reset_write() + { + $this->_reset_run(array( + 'qb_set' => array(), + 'qb_set_ub' => array(), + 'qb_from' => array(), + 'qb_join' => array(), + 'qb_where' => array(), + 'qb_orderby' => array(), + 'qb_keys' => array(), + 'qb_limit' => FALSE + )); + } + +} diff --git a/system/database/DB_result.php b/system/database/DB_result.php new file mode 100644 index 0000000..a5a4ca2 --- /dev/null +++ b/system/database/DB_result.php @@ -0,0 +1,665 @@ +conn_id = $driver_object->conn_id; + $this->result_id = $driver_object->result_id; + } + + // -------------------------------------------------------------------- + + /** + * Number of rows in the result set + * + * @return int + */ + public function num_rows() + { + if (is_int($this->num_rows)) + { + return $this->num_rows; + } + elseif (count($this->result_array) > 0) + { + return $this->num_rows = count($this->result_array); + } + elseif (count($this->result_object) > 0) + { + return $this->num_rows = count($this->result_object); + } + + return $this->num_rows = count($this->result_array()); + } + + // -------------------------------------------------------------------- + + /** + * Query result. Acts as a wrapper function for the following functions. + * + * @param string $type 'object', 'array' or a custom class name + * @return array + */ + public function result($type = 'object') + { + if ($type === 'array') + { + return $this->result_array(); + } + elseif ($type === 'object') + { + return $this->result_object(); + } + + return $this->custom_result_object($type); + } + + // -------------------------------------------------------------------- + + /** + * Custom query result. + * + * @param string $class_name + * @return array + */ + public function custom_result_object($class_name) + { + if (isset($this->custom_result_object[$class_name])) + { + return $this->custom_result_object[$class_name]; + } + elseif ( ! $this->result_id OR $this->num_rows === 0) + { + return array(); + } + + // Don't fetch the result set again if we already have it + $_data = NULL; + if (($c = count($this->result_array)) > 0) + { + $_data = 'result_array'; + } + elseif (($c = count($this->result_object)) > 0) + { + $_data = 'result_object'; + } + + if ($_data !== NULL) + { + for ($i = 0; $i < $c; $i++) + { + $this->custom_result_object[$class_name][$i] = new $class_name(); + + foreach ($this->{$_data}[$i] as $key => $value) + { + $this->custom_result_object[$class_name][$i]->$key = $value; + } + } + + return $this->custom_result_object[$class_name]; + } + + is_null($this->row_data) OR $this->data_seek(0); + $this->custom_result_object[$class_name] = array(); + + while ($row = $this->_fetch_object($class_name)) + { + $this->custom_result_object[$class_name][] = $row; + } + + return $this->custom_result_object[$class_name]; + } + + // -------------------------------------------------------------------- + + /** + * Query result. "object" version. + * + * @return array + */ + public function result_object() + { + if (count($this->result_object) > 0) + { + return $this->result_object; + } + + // In the event that query caching is on, the result_id variable + // will not be a valid resource so we'll simply return an empty + // array. + if ( ! $this->result_id OR $this->num_rows === 0) + { + return array(); + } + + if (($c = count($this->result_array)) > 0) + { + for ($i = 0; $i < $c; $i++) + { + $this->result_object[$i] = (object) $this->result_array[$i]; + } + + return $this->result_object; + } + + is_null($this->row_data) OR $this->data_seek(0); + while ($row = $this->_fetch_object()) + { + $this->result_object[] = $row; + } + + return $this->result_object; + } + + // -------------------------------------------------------------------- + + /** + * Query result. "array" version. + * + * @return array + */ + public function result_array() + { + if (count($this->result_array) > 0) + { + return $this->result_array; + } + + // In the event that query caching is on, the result_id variable + // will not be a valid resource so we'll simply return an empty + // array. + if ( ! $this->result_id OR $this->num_rows === 0) + { + return array(); + } + + if (($c = count($this->result_object)) > 0) + { + for ($i = 0; $i < $c; $i++) + { + $this->result_array[$i] = (array) $this->result_object[$i]; + } + + return $this->result_array; + } + + is_null($this->row_data) OR $this->data_seek(0); + while ($row = $this->_fetch_assoc()) + { + $this->result_array[] = $row; + } + + return $this->result_array; + } + + // -------------------------------------------------------------------- + + /** + * Row + * + * A wrapper method. + * + * @param mixed $n + * @param string $type 'object' or 'array' + * @return mixed + */ + public function row($n = 0, $type = 'object') + { + if ( ! is_numeric($n)) + { + // We cache the row data for subsequent uses + is_array($this->row_data) OR $this->row_data = $this->row_array(0); + + // array_key_exists() instead of isset() to allow for NULL values + if (empty($this->row_data) OR ! array_key_exists($n, $this->row_data)) + { + return NULL; + } + + return $this->row_data[$n]; + } + + if ($type === 'object') return $this->row_object($n); + elseif ($type === 'array') return $this->row_array($n); + + return $this->custom_row_object($n, $type); + } + + // -------------------------------------------------------------------- + + /** + * Assigns an item into a particular column slot + * + * @param mixed $key + * @param mixed $value + * @return void + */ + public function set_row($key, $value = NULL) + { + // We cache the row data for subsequent uses + if ( ! is_array($this->row_data)) + { + $this->row_data = $this->row_array(0); + } + + if (is_array($key)) + { + foreach ($key as $k => $v) + { + $this->row_data[$k] = $v; + } + return; + } + + if ($key !== '' && $value !== NULL) + { + $this->row_data[$key] = $value; + } + } + + // -------------------------------------------------------------------- + + /** + * Returns a single result row - custom object version + * + * @param int $n + * @param string $type + * @return object + */ + public function custom_row_object($n, $type) + { + isset($this->custom_result_object[$type]) OR $this->custom_result_object($type); + + if (count($this->custom_result_object[$type]) === 0) + { + return NULL; + } + + if ($n !== $this->current_row && isset($this->custom_result_object[$type][$n])) + { + $this->current_row = $n; + } + + return $this->custom_result_object[$type][$this->current_row]; + } + + // -------------------------------------------------------------------- + + /** + * Returns a single result row - object version + * + * @param int $n + * @return object + */ + public function row_object($n = 0) + { + $result = $this->result_object(); + if (count($result) === 0) + { + return NULL; + } + + if ($n !== $this->current_row && isset($result[$n])) + { + $this->current_row = $n; + } + + return $result[$this->current_row]; + } + + // -------------------------------------------------------------------- + + /** + * Returns a single result row - array version + * + * @param int $n + * @return array + */ + public function row_array($n = 0) + { + $result = $this->result_array(); + if (count($result) === 0) + { + return NULL; + } + + if ($n !== $this->current_row && isset($result[$n])) + { + $this->current_row = $n; + } + + return $result[$this->current_row]; + } + + // -------------------------------------------------------------------- + + /** + * Returns the "first" row + * + * @param string $type + * @return mixed + */ + public function first_row($type = 'object') + { + $result = $this->result($type); + return (count($result) === 0) ? NULL : $result[0]; + } + + // -------------------------------------------------------------------- + + /** + * Returns the "last" row + * + * @param string $type + * @return mixed + */ + public function last_row($type = 'object') + { + $result = $this->result($type); + return (count($result) === 0) ? NULL : $result[count($result) - 1]; + } + + // -------------------------------------------------------------------- + + /** + * Returns the "next" row + * + * @param string $type + * @return mixed + */ + public function next_row($type = 'object') + { + $result = $this->result($type); + if (count($result) === 0) + { + return NULL; + } + + return isset($result[$this->current_row + 1]) + ? $result[++$this->current_row] + : NULL; + } + + // -------------------------------------------------------------------- + + /** + * Returns the "previous" row + * + * @param string $type + * @return mixed + */ + public function previous_row($type = 'object') + { + $result = $this->result($type); + if (count($result) === 0) + { + return NULL; + } + + if (isset($result[$this->current_row - 1])) + { + --$this->current_row; + } + return $result[$this->current_row]; + } + + // -------------------------------------------------------------------- + + /** + * Returns an unbuffered row and move pointer to next row + * + * @param string $type 'array', 'object' or a custom class name + * @return mixed + */ + public function unbuffered_row($type = 'object') + { + if ($type === 'array') + { + return $this->_fetch_assoc(); + } + elseif ($type === 'object') + { + return $this->_fetch_object(); + } + + return $this->_fetch_object($type); + } + + // -------------------------------------------------------------------- + + /** + * The following methods are normally overloaded by the identically named + * methods in the platform-specific driver -- except when query caching + * is used. When caching is enabled we do not load the other driver. + * These functions are primarily here to prevent undefined function errors + * when a cached result object is in use. They are not otherwise fully + * operational due to the unavailability of the database resource IDs with + * cached results. + */ + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * Overridden by driver result classes. + * + * @return int + */ + public function num_fields() + { + return 0; + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names. + * + * Overridden by driver result classes. + * + * @return array + */ + public function list_fields() + { + return array(); + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data. + * + * Overridden by driver result classes. + * + * @return array + */ + public function field_data() + { + return array(); + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * Overridden by driver result classes. + * + * @return void + */ + public function free_result() + { + $this->result_id = FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * Overridden by driver result classes. + * + * @param int $n + * @return bool + */ + public function data_seek($n = 0) + { + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array. + * + * Overridden by driver result classes. + * + * @return array + */ + protected function _fetch_assoc() + { + return array(); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object. + * + * Overridden by driver result classes. + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return new $class_name(); + } + +} diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php new file mode 100644 index 0000000..8680176 --- /dev/null +++ b/system/database/DB_utility.php @@ -0,0 +1,424 @@ +db =& $db; + log_message('info', 'Database Utility Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * List databases + * + * @return array + */ + public function list_databases() + { + // Is there a cached result? + if (isset($this->db->data_cache['db_names'])) + { + return $this->db->data_cache['db_names']; + } + elseif ($this->_list_databases === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + $this->db->data_cache['db_names'] = array(); + + $query = $this->db->query($this->_list_databases); + if ($query === FALSE) + { + return $this->db->data_cache['db_names']; + } + + for ($i = 0, $query = $query->result_array(), $c = count($query); $i < $c; $i++) + { + $this->db->data_cache['db_names'][] = current($query[$i]); + } + + return $this->db->data_cache['db_names']; + } + + // -------------------------------------------------------------------- + + /** + * Determine if a particular database exists + * + * @param string $database_name + * @return bool + */ + public function database_exists($database_name) + { + return in_array($database_name, $this->list_databases()); + } + + // -------------------------------------------------------------------- + + /** + * Optimize Table + * + * @param string $table_name + * @return mixed + */ + public function optimize_table($table_name) + { + if ($this->_optimize_table === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + $query = $this->db->query(sprintf($this->_optimize_table, $this->db->escape_identifiers($table_name))); + if ($query !== FALSE) + { + $query = $query->result_array(); + return current($query); + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Optimize Database + * + * @return mixed + */ + public function optimize_database() + { + if ($this->_optimize_table === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + $result = array(); + foreach ($this->db->list_tables() as $table_name) + { + $res = $this->db->query(sprintf($this->_optimize_table, $this->db->escape_identifiers($table_name))); + if (is_bool($res)) + { + return $res; + } + + // Build the result array... + $res = $res->result_array(); + $res = current($res); + $key = str_replace($this->db->database.'.', '', current($res)); + $keys = array_keys($res); + unset($res[$keys[0]]); + + $result[$key] = $res; + } + + return $result; + } + + // -------------------------------------------------------------------- + + /** + * Repair Table + * + * @param string $table_name + * @return mixed + */ + public function repair_table($table_name) + { + if ($this->_repair_table === FALSE) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unsupported_feature') : FALSE; + } + + $query = $this->db->query(sprintf($this->_repair_table, $this->db->escape_identifiers($table_name))); + if (is_bool($query)) + { + return $query; + } + + $query = $query->result_array(); + return current($query); + } + + // -------------------------------------------------------------------- + + /** + * Generate CSV from a query result object + * + * @param object $query Query result object + * @param string $delim Delimiter (default: ,) + * @param string $newline Newline character (default: \n) + * @param string $enclosure Enclosure (default: ") + * @return string + */ + public function csv_from_result($query, $delim = ',', $newline = "\n", $enclosure = '"') + { + if ( ! is_object($query) OR ! method_exists($query, 'list_fields')) + { + show_error('You must submit a valid result object'); + } + + $out = ''; + // First generate the headings from the table column names + foreach ($query->list_fields() as $name) + { + $out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $name).$enclosure.$delim; + } + + $out = substr($out, 0, -strlen($delim)).$newline; + + // Next blast through the result array and build out the rows + while ($row = $query->unbuffered_row('array')) + { + $line = array(); + foreach ($row as $item) + { + $line[] = $enclosure.str_replace($enclosure, $enclosure.$enclosure, $item).$enclosure; + } + $out .= implode($delim, $line).$newline; + } + + return $out; + } + + // -------------------------------------------------------------------- + + /** + * Generate XML data from a query result object + * + * @param object $query Query result object + * @param array $params Any preferences + * @return string + */ + public function xml_from_result($query, $params = array()) + { + if ( ! is_object($query) OR ! method_exists($query, 'list_fields')) + { + show_error('You must submit a valid result object'); + } + + // Set our default values + foreach (array('root' => 'root', 'element' => 'element', 'newline' => "\n", 'tab' => "\t") as $key => $val) + { + if ( ! isset($params[$key])) + { + $params[$key] = $val; + } + } + + // Create variables for convenience + extract($params); + + // Load the xml helper + get_instance()->load->helper('xml'); + + // Generate the result + $xml = '<'.$root.'>'.$newline; + while ($row = $query->unbuffered_row()) + { + $xml .= $tab.'<'.$element.'>'.$newline; + foreach ($row as $key => $val) + { + $xml .= $tab.$tab.'<'.$key.'>'.xml_convert($val).''.$newline; + } + $xml .= $tab.''.$newline; + } + + return $xml.''.$newline; + } + + // -------------------------------------------------------------------- + + /** + * Database Backup + * + * @param array $params + * @return string + */ + public function backup($params = array()) + { + // If the parameters have not been submitted as an + // array then we know that it is simply the table + // name, which is a valid short cut. + if (is_string($params)) + { + $params = array('tables' => $params); + } + + // Set up our default preferences + $prefs = array( + 'tables' => array(), + 'ignore' => array(), + 'filename' => '', + 'format' => 'gzip', // gzip, zip, txt + 'add_drop' => TRUE, + 'add_insert' => TRUE, + 'newline' => "\n", + 'foreign_key_checks' => TRUE + ); + + // Did the user submit any preferences? If so set them.... + if (count($params) > 0) + { + foreach ($prefs as $key => $val) + { + if (isset($params[$key])) + { + $prefs[$key] = $params[$key]; + } + } + } + + // Are we backing up a complete database or individual tables? + // If no table names were submitted we'll fetch the entire table list + if (count($prefs['tables']) === 0) + { + $prefs['tables'] = $this->db->list_tables(); + } + + // Validate the format + if ( ! in_array($prefs['format'], array('gzip', 'zip', 'txt'), TRUE)) + { + $prefs['format'] = 'txt'; + } + + // Is the encoder supported? If not, we'll either issue an + // error or use plain text depending on the debug settings + if (($prefs['format'] === 'gzip' && ! function_exists('gzencode')) + OR ($prefs['format'] === 'zip' && ! function_exists('gzcompress'))) + { + if ($this->db->db_debug) + { + return $this->db->display_error('db_unsupported_compression'); + } + + $prefs['format'] = 'txt'; + } + + // Was a Zip file requested? + if ($prefs['format'] === 'zip') + { + // Set the filename if not provided (only needed with Zip files) + if ($prefs['filename'] === '') + { + $prefs['filename'] = (count($prefs['tables']) === 1 ? $prefs['tables'] : $this->db->database) + .date('Y-m-d_H-i', time()).'.sql'; + } + else + { + // If they included the .zip file extension we'll remove it + if (preg_match('|.+?\.zip$|', $prefs['filename'])) + { + $prefs['filename'] = str_replace('.zip', '', $prefs['filename']); + } + + // Tack on the ".sql" file extension if needed + if ( ! preg_match('|.+?\.sql$|', $prefs['filename'])) + { + $prefs['filename'] .= '.sql'; + } + } + + // Load the Zip class and output it + $CI =& get_instance(); + $CI->load->library('zip'); + $CI->zip->add_data($prefs['filename'], $this->_backup($prefs)); + return $CI->zip->get_zip(); + } + elseif ($prefs['format'] === 'txt') // Was a text file requested? + { + return $this->_backup($prefs); + } + elseif ($prefs['format'] === 'gzip') // Was a Gzip file requested? + { + return gzencode($this->_backup($prefs)); + } + + return; + } + +} diff --git a/system/database/drivers/cubrid/cubrid_driver.php b/system/database/drivers/cubrid/cubrid_driver.php new file mode 100644 index 0000000..9d6afea --- /dev/null +++ b/system/database/drivers/cubrid/cubrid_driver.php @@ -0,0 +1,405 @@ +dsn, $matches)) + { + if (stripos($matches[2], 'autocommit=off') !== FALSE) + { + $this->auto_commit = FALSE; + } + } + else + { + // If no port is defined by the user, use the default value + empty($this->port) OR $this->port = 33000; + } + } + + // -------------------------------------------------------------------- + + /** + * Non-persistent database connection + * + * @param bool $persistent + * @return resource + */ + public function db_connect($persistent = FALSE) + { + if (preg_match('/^CUBRID:[^:]+(:[0-9][1-9]{0,4})?:[^:]+:([^:]*):([^:]*):(\?.+)?$/', $this->dsn, $matches)) + { + $func = ($persistent !== TRUE) ? 'cubrid_connect_with_url' : 'cubrid_pconnect_with_url'; + return ($matches[2] === '' && $matches[3] === '' && $this->username !== '' && $this->password !== '') + ? $func($this->dsn, $this->username, $this->password) + : $func($this->dsn); + } + + $func = ($persistent !== TRUE) ? 'cubrid_connect' : 'cubrid_pconnect'; + return ($this->username !== '') + ? $func($this->hostname, $this->port, $this->database, $this->username, $this->password) + : $func($this->hostname, $this->port, $this->database); + } + + // -------------------------------------------------------------------- + + /** + * Reconnect + * + * Keep / reestablish the db connection if no queries have been + * sent for a length of time exceeding the server's idle timeout + * + * @return void + */ + public function reconnect() + { + if (cubrid_ping($this->conn_id) === FALSE) + { + $this->conn_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + return ( ! $this->conn_id OR ($version = cubrid_get_server_info($this->conn_id)) === FALSE) + ? FALSE + : $this->data_cache['version'] = $version; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return resource + */ + protected function _execute($sql) + { + return cubrid_query($sql, $this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + if (($autocommit = cubrid_get_autocommit($this->conn_id)) === NULL) + { + return FALSE; + } + elseif ($autocommit === TRUE) + { + return cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_FALSE); + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + if ( ! cubrid_commit($this->conn_id)) + { + return FALSE; + } + + if ($this->auto_commit && ! cubrid_get_autocommit($this->conn_id)) + { + return cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_TRUE); + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + if ( ! cubrid_rollback($this->conn_id)) + { + return FALSE; + } + + if ($this->auto_commit && ! cubrid_get_autocommit($this->conn_id)) + { + cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_TRUE); + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + return cubrid_real_escape_string($str, $this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return cubrid_affected_rows(); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return int + */ + public function insert_id() + { + return cubrid_insert_id($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * List table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SHOW TABLES'; + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql." LIKE '".$this->escape_like_str($this->dbprefix)."%'"; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE))) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->Field; + + sscanf($query[$i]->Type, '%[a-z](%d)', + $retval[$i]->type, + $retval[$i]->max_length + ); + + $retval[$i]->default = $query[$i]->Default; + $retval[$i]->primary_key = (int) ($query[$i]->Key === 'PRI'); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + return array('code' => cubrid_errno($this->conn_id), 'message' => cubrid_error($this->conn_id)); + } + + // -------------------------------------------------------------------- + + /** + * FROM tables + * + * Groups tables in FROM clauses if needed, so there is no confusion + * about operator precedence. + * + * @return string + */ + protected function _from_tables() + { + if ( ! empty($this->qb_join) && count($this->qb_from) > 1) + { + return '('.implode(', ', $this->qb_from).')'; + } + + return implode(', ', $this->qb_from); + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + cubrid_close($this->conn_id); + } + +} diff --git a/system/database/drivers/cubrid/cubrid_forge.php b/system/database/drivers/cubrid/cubrid_forge.php new file mode 100644 index 0000000..95e7ca1 --- /dev/null +++ b/system/database/drivers/cubrid/cubrid_forge.php @@ -0,0 +1,230 @@ + 'INTEGER', + 'SMALLINT' => 'INTEGER', + 'INT' => 'BIGINT', + 'INTEGER' => 'BIGINT', + 'BIGINT' => 'NUMERIC', + 'FLOAT' => 'DOUBLE', + 'REAL' => 'DOUBLE' + ); + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('DROP', 'ADD'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + $sqls[] = $sql.' CHANGE '.$field[$i]['_literal']; + } + else + { + $alter_type = empty($field[$i]['new_name']) ? ' MODIFY ' : ' CHANGE '; + $sqls[] = $sql.$alter_type.$this->_process_column($field[$i]); + } + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + $extra_clause = isset($field['after']) + ? ' AFTER '.$this->db->escape_identifiers($field['after']) : ''; + + if (empty($extra_clause) && isset($field['first']) && $field['first'] === TRUE) + { + $extra_clause = ' FIRST'; + } + + return $this->db->escape_identifiers($field['name']) + .(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name'])) + .' '.$field['type'].$field['length'] + .$field['unsigned'] + .$field['null'] + .$field['default'] + .$field['auto_increment'] + .$field['unique'] + .$extra_clause; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'LONGTEXT': + $attributes['TYPE'] = 'STRING'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Process indexes + * + * @param string $table (ignored) + * @return string + */ + protected function _process_indexes($table) + { + $sql = ''; + + for ($i = 0, $c = count($this->keys); $i < $c; $i++) + { + if (is_array($this->keys[$i])) + { + for ($i2 = 0, $c2 = count($this->keys[$i]); $i2 < $c2; $i2++) + { + if ( ! isset($this->fields[$this->keys[$i][$i2]])) + { + unset($this->keys[$i][$i2]); + continue; + } + } + } + elseif ( ! isset($this->fields[$this->keys[$i]])) + { + unset($this->keys[$i]); + continue; + } + + is_array($this->keys[$i]) OR $this->keys[$i] = array($this->keys[$i]); + + $sql .= ",\n\tKEY ".$this->db->escape_identifiers(implode('_', $this->keys[$i])) + .' ('.implode(', ', $this->db->escape_identifiers($this->keys[$i])).')'; + } + + $this->keys = array(); + + return $sql; + } + +} diff --git a/system/database/drivers/cubrid/cubrid_result.php b/system/database/drivers/cubrid/cubrid_result.php new file mode 100644 index 0000000..a71b1a2 --- /dev/null +++ b/system/database/drivers/cubrid/cubrid_result.php @@ -0,0 +1,177 @@ +num_rows) + ? $this->num_rows + : $this->num_rows = cubrid_num_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return cubrid_num_fields($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + return cubrid_column_names($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = cubrid_field_name($this->result_id, $i); + $retval[$i]->type = cubrid_field_type($this->result_id, $i); + $retval[$i]->max_length = cubrid_field_len($this->result_id, $i); + $retval[$i]->primary_key = (int) (strpos(cubrid_field_flags($this->result_id, $i), 'primary_key') !== FALSE); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_resource($this->result_id) OR + (get_resource_type($this->result_id) === 'Unknown' && preg_match('/Resource id #/', strval($this->result_id)))) + { + cubrid_close_request($this->result_id); + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * @param int $n + * @return bool + */ + public function data_seek($n = 0) + { + return cubrid_data_seek($this->result_id, $n); + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return cubrid_fetch_assoc($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return cubrid_fetch_object($this->result_id, $class_name); + } + +} diff --git a/system/database/drivers/cubrid/cubrid_utility.php b/system/database/drivers/cubrid/cubrid_utility.php new file mode 100644 index 0000000..eb906ae --- /dev/null +++ b/system/database/drivers/cubrid/cubrid_utility.php @@ -0,0 +1,79 @@ +db->data_cache['db_names'])) + { + return $this->db->data_cache['db_names']; + } + + return $this->db->data_cache['db_names'] = cubrid_list_dbs($this->db->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * CUBRID Export + * + * @param array Preferences + * @return mixed + */ + protected function _backup($params = array()) + { + // No SQL based support in CUBRID as of version 8.4.0. Database or + // table backup can be performed using CUBRID Manager + // database administration tool. + return $this->db->display_error('db_unsupported_feature'); + } +} diff --git a/system/database/drivers/cubrid/index.html b/system/database/drivers/cubrid/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/cubrid/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/ibase/ibase_driver.php b/system/database/drivers/ibase/ibase_driver.php new file mode 100644 index 0000000..fd866ff --- /dev/null +++ b/system/database/drivers/ibase/ibase_driver.php @@ -0,0 +1,413 @@ +hostname.':'.$this->database, $this->username, $this->password, $this->char_set) + : ibase_connect($this->hostname.':'.$this->database, $this->username, $this->password, $this->char_set); + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + if (($service = ibase_service_attach($this->hostname, $this->username, $this->password))) + { + $this->data_cache['version'] = ibase_server_info($service, IBASE_SVC_SERVER_VERSION); + + // Don't keep the service open + ibase_service_detach($service); + return $this->data_cache['version']; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return resource + */ + protected function _execute($sql) + { + return ibase_query(isset($this->_ibase_trans) ? $this->_ibase_trans : $this->conn_id, $sql); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + if (($trans_handle = ibase_trans($this->conn_id)) === FALSE) + { + return FALSE; + } + + $this->_ibase_trans = $trans_handle; + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + if (ibase_commit($this->_ibase_trans)) + { + $this->_ibase_trans = NULL; + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + if (ibase_rollback($this->_ibase_trans)) + { + $this->_ibase_trans = NULL; + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return ibase_affected_rows($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @param string $generator_name + * @param int $inc_by + * @return int + */ + public function insert_id($generator_name, $inc_by = 0) + { + //If a generator hasn't been used before it will return 0 + return ibase_gen_id('"'.$generator_name.'"', $inc_by); + } + + // -------------------------------------------------------------------- + + /** + * List table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT TRIM("RDB$RELATION_NAME") AS TABLE_NAME FROM "RDB$RELATIONS" WHERE "RDB$RELATION_NAME" NOT LIKE \'RDB$%\' AND "RDB$RELATION_NAME" NOT LIKE \'MON$%\''; + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql.' AND TRIM("RDB$RELATION_NAME") AS TABLE_NAME LIKE \''.$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT TRIM("RDB$FIELD_NAME") AS COLUMN_NAME FROM "RDB$RELATION_FIELDS" WHERE "RDB$RELATION_NAME" = '.$this->escape($table); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT "rfields"."RDB$FIELD_NAME" AS "name", + CASE "fields"."RDB$FIELD_TYPE" + WHEN 7 THEN \'SMALLINT\' + WHEN 8 THEN \'INTEGER\' + WHEN 9 THEN \'QUAD\' + WHEN 10 THEN \'FLOAT\' + WHEN 11 THEN \'DFLOAT\' + WHEN 12 THEN \'DATE\' + WHEN 13 THEN \'TIME\' + WHEN 14 THEN \'CHAR\' + WHEN 16 THEN \'INT64\' + WHEN 27 THEN \'DOUBLE\' + WHEN 35 THEN \'TIMESTAMP\' + WHEN 37 THEN \'VARCHAR\' + WHEN 40 THEN \'CSTRING\' + WHEN 261 THEN \'BLOB\' + ELSE NULL + END AS "type", + "fields"."RDB$FIELD_LENGTH" AS "max_length", + "rfields"."RDB$DEFAULT_VALUE" AS "default" + FROM "RDB$RELATION_FIELDS" "rfields" + JOIN "RDB$FIELDS" "fields" ON "rfields"."RDB$FIELD_SOURCE" = "fields"."RDB$FIELD_NAME" + WHERE "rfields"."RDB$RELATION_NAME" = '.$this->escape($table).' + ORDER BY "rfields"."RDB$FIELD_POSITION"'; + + return (($query = $this->query($sql)) !== FALSE) + ? $query->result_object() + : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + return array('code' => ibase_errcode(), 'message' => ibase_errmsg()); + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'DELETE FROM '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + $this->qb_limit = FALSE; + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + // Limit clause depends on if Interbase or Firebird + if (stripos($this->version(), 'firebird') !== FALSE) + { + $select = 'FIRST '.$this->qb_limit + .($this->qb_offset ? ' SKIP '.$this->qb_offset : ''); + } + else + { + $select = 'ROWS ' + .($this->qb_offset ? $this->qb_offset.' TO '.($this->qb_limit + $this->qb_offset) : $this->qb_limit); + } + + return preg_replace('`SELECT`i', 'SELECT '.$select, $sql, 1); + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data. + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string|bool + */ + protected function _insert_batch($table, $keys, $values) + { + return ($this->db_debug) ? $this->display_error('db_unsupported_feature') : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + ibase_close($this->conn_id); + } + +} diff --git a/system/database/drivers/ibase/ibase_forge.php b/system/database/drivers/ibase/ibase_forge.php new file mode 100644 index 0000000..77aa4ae --- /dev/null +++ b/system/database/drivers/ibase/ibase_forge.php @@ -0,0 +1,251 @@ + 'INTEGER', + 'INTEGER' => 'INT64', + 'FLOAT' => 'DOUBLE PRECISION' + ); + + /** + * NULL value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_null = 'NULL'; + + // -------------------------------------------------------------------- + + /** + * Create database + * + * @param string $db_name + * @return bool + */ + public function create_database($db_name) + { + // Firebird databases are flat files, so a path is required + + // Hostname is needed for remote access + empty($this->db->hostname) OR $db_name = $this->hostname.':'.$db_name; + + return parent::create_database('"'.$db_name.'"'); + } + + // -------------------------------------------------------------------- + + /** + * Drop database + * + * @param string $db_name (ignored) + * @return bool + */ + public function drop_database($db_name) + { + if ( ! ibase_drop_db($this->conn_id)) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + elseif ( ! empty($this->db->data_cache['db_names'])) + { + $key = array_search(strtolower($this->db->database), array_map('strtolower', $this->db->data_cache['db_names']), TRUE); + if ($key !== FALSE) + { + unset($this->db->data_cache['db_names'][$key]); + } + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('DROP', 'ADD'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + return FALSE; + } + + if (isset($field[$i]['type'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identififers($field[$i]['name']) + .' TYPE '.$field[$i]['type'].$field[$i]['length']; + } + + if ( ! empty($field[$i]['default'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' SET DEFAULT '.$field[$i]['default']; + } + + if (isset($field[$i]['null'])) + { + $sqls[] = 'UPDATE "RDB$RELATION_FIELDS" SET "RDB$NULL_FLAG" = ' + .($field[$i]['null'] === TRUE ? 'NULL' : '1') + .' WHERE "RDB$FIELD_NAME" = '.$this->db->escape($field[$i]['name']) + .' AND "RDB$RELATION_NAME" = '.$this->db->escape($table); + } + + if ( ! empty($field[$i]['new_name'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TO '.$this->db->escape_identifiers($field[$i]['new_name']); + } + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + return $this->db->escape_identifiers($field['name']) + .' '.$field['type'].$field['length'] + .$field['null'] + .$field['unique'] + .$field['default']; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'INT': + $attributes['TYPE'] = 'INTEGER'; + return; + case 'BIGINT': + $attributes['TYPE'] = 'INT64'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + // Not supported + } + +} diff --git a/system/database/drivers/ibase/ibase_result.php b/system/database/drivers/ibase/ibase_result.php new file mode 100644 index 0000000..b548f32 --- /dev/null +++ b/system/database/drivers/ibase/ibase_result.php @@ -0,0 +1,161 @@ +result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + for ($i = 0, $num_fields = $this->num_fields(); $i < $num_fields; $i++) + { + $info = ibase_field_info($this->result_id, $i); + $field_names[] = $info['name']; + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $info = ibase_field_info($this->result_id, $i); + + $retval[$i] = new stdClass(); + $retval[$i]->name = $info['name']; + $retval[$i]->type = $info['type']; + $retval[$i]->max_length = $info['length']; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + ibase_free_result($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return ibase_fetch_assoc($this->result_id, IBASE_FETCH_BLOBS); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + $row = ibase_fetch_object($this->result_id, IBASE_FETCH_BLOBS); + + if ($class_name === 'stdClass' OR ! $row) + { + return $row; + } + + $class_name = new $class_name(); + foreach ($row as $key => $value) + { + $class_name->$key = $value; + } + + return $class_name; + } + +} diff --git a/system/database/drivers/ibase/ibase_utility.php b/system/database/drivers/ibase/ibase_utility.php new file mode 100644 index 0000000..a1e5d69 --- /dev/null +++ b/system/database/drivers/ibase/ibase_utility.php @@ -0,0 +1,69 @@ +db->hostname, $this->db->username, $this->db->password)) + { + $res = ibase_backup($service, $this->db->database, $filename.'.fbk'); + + // Close the service connection + ibase_service_detach($service); + return $res; + } + + return FALSE; + } + +} diff --git a/system/database/drivers/ibase/index.html b/system/database/drivers/ibase/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/ibase/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/index.html b/system/database/drivers/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/mssql/index.html b/system/database/drivers/mssql/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/mssql/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php new file mode 100644 index 0000000..b2b17d0 --- /dev/null +++ b/system/database/drivers/mssql/mssql_driver.php @@ -0,0 +1,518 @@ +port)) + { + $this->hostname .= (DIRECTORY_SEPARATOR === '\\' ? ',' : ':').$this->port; + } + } + + // -------------------------------------------------------------------- + + /** + * Non-persistent database connection + * + * @param bool $persistent + * @return resource + */ + public function db_connect($persistent = FALSE) + { + $this->conn_id = ($persistent) + ? mssql_pconnect($this->hostname, $this->username, $this->password) + : mssql_connect($this->hostname, $this->username, $this->password); + + if ( ! $this->conn_id) + { + return FALSE; + } + + // ---------------------------------------------------------------- + + // Select the DB... assuming a database name is specified in the config file + if ($this->database !== '' && ! $this->db_select()) + { + log_message('error', 'Unable to select database: '.$this->database); + + return ($this->db_debug === TRUE) + ? $this->display_error('db_unable_to_select', $this->database) + : FALSE; + } + + // Determine how identifiers are escaped + $query = $this->query('SELECT CASE WHEN (@@OPTIONS | 256) = @@OPTIONS THEN 1 ELSE 0 END AS qi'); + $query = $query->row_array(); + $this->_quoted_identifier = empty($query) ? FALSE : (bool) $query['qi']; + $this->_escape_char = ($this->_quoted_identifier) ? '"' : array('[', ']'); + + return $this->conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Select the database + * + * @param string $database + * @return bool + */ + public function db_select($database = '') + { + if ($database === '') + { + $database = $this->database; + } + + // Note: Escaping is required in the event that the DB name + // contains reserved characters. + if (mssql_select_db('['.$database.']', $this->conn_id)) + { + $this->database = $database; + $this->data_cache = array(); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return mixed resource if rows are returned, bool otherwise + */ + protected function _execute($sql) + { + return mssql_query($sql, $this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + return $this->simple_query('BEGIN TRAN'); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + return $this->simple_query('COMMIT TRAN'); + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + return $this->simple_query('ROLLBACK TRAN'); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return mssql_rows_affected($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * Returns the last id created in the Identity column. + * + * @return string + */ + public function insert_id() + { + $query = version_compare($this->version(), '8', '>=') + ? 'SELECT SCOPE_IDENTITY() AS last_id' + : 'SELECT @@IDENTITY AS last_id'; + + $query = $this->query($query); + $query = $query->row(); + return $query->last_id; + } + + // -------------------------------------------------------------------- + + /** + * Set client character set + * + * @param string $charset + * @return bool + */ + protected function _db_set_charset($charset) + { + return (ini_set('mssql.charset', $charset) !== FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Version number query string + * + * @return string + */ + protected function _version() + { + return "SELECT SERVERPROPERTY('ProductVersion') AS ver"; + } + + // -------------------------------------------------------------------- + + /** + * List table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT '.$this->escape_identifiers('name') + .' FROM '.$this->escape_identifiers('sysobjects') + .' WHERE '.$this->escape_identifiers('type')." = 'U'"; + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + $sql .= ' AND '.$this->escape_identifiers('name')." LIKE '".$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql.' ORDER BY '.$this->escape_identifiers('name'); + } + + // -------------------------------------------------------------------- + + /** + * List column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT COLUMN_NAME + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, COLUMN_DEFAULT + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->COLUMN_NAME; + $retval[$i]->type = $query[$i]->DATA_TYPE; + $retval[$i]->max_length = ($query[$i]->CHARACTER_MAXIMUM_LENGTH > 0) ? $query[$i]->CHARACTER_MAXIMUM_LENGTH : $query[$i]->NUMERIC_PRECISION; + $retval[$i]->default = $query[$i]->COLUMN_DEFAULT; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + // We need this because the error info is discarded by the + // server the first time you request it, and query() already + // calls error() once for logging purposes when a query fails. + static $error = array('code' => 0, 'message' => NULL); + + $message = mssql_get_last_message(); + if ( ! empty($message)) + { + $error['code'] = $this->query('SELECT @@ERROR AS code')->row()->code; + $error['message'] = $message; + } + + return $error; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE TABLE '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + if ($this->qb_limit) + { + return 'WITH ci_delete AS (SELECT TOP '.$this->qb_limit.' * FROM '.$table.$this->_compile_wh('qb_where').') DELETE FROM ci_delete'; + } + + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + $limit = $this->qb_offset + $this->qb_limit; + + // As of SQL Server 2005 (9.0.*) ROW_NUMBER() is supported, + // however an ORDER BY clause is required for it to work + if (version_compare($this->version(), '9', '>=') && $this->qb_offset && ! empty($this->qb_orderby)) + { + $orderby = $this->_compile_order_by(); + + // We have to strip the ORDER BY clause + $sql = trim(substr($sql, 0, strrpos($sql, $orderby))); + + // Get the fields to select from our subquery, so that we can avoid CI_rownum appearing in the actual results + if (count($this->qb_select) === 0 OR strpos(implode(',', $this->qb_select), '*') !== FALSE) + { + $select = '*'; // Inevitable + } + else + { + // Use only field names and their aliases, everything else is out of our scope. + $select = array(); + $field_regexp = ($this->_quoted_identifier) + ? '("[^\"]+")' : '(\[[^\]]+\])'; + for ($i = 0, $c = count($this->qb_select); $i < $c; $i++) + { + $select[] = preg_match('/(?:\s|\.)'.$field_regexp.'$/i', $this->qb_select[$i], $m) + ? $m[1] : $this->qb_select[$i]; + } + $select = implode(', ', $select); + } + + return 'SELECT '.$select." FROM (\n\n" + .preg_replace('/^(SELECT( DISTINCT)?)/i', '\\1 ROW_NUMBER() OVER('.trim($orderby).') AS '.$this->escape_identifiers('CI_rownum').', ', $sql) + ."\n\n) ".$this->escape_identifiers('CI_subquery') + ."\nWHERE ".$this->escape_identifiers('CI_rownum').' BETWEEN '.($this->qb_offset + 1).' AND '.$limit; + } + + return preg_replace('/(^\SELECT (DISTINCT)?)/i','\\1 TOP '.$limit.' ', $sql); + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data. + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string|bool + */ + protected function _insert_batch($table, $keys, $values) + { + // Multiple-value inserts are only supported as of SQL Server 2008 + if (version_compare($this->version(), '10', '>=')) + { + return parent::_insert_batch($table, $keys, $values); + } + + return ($this->db_debug) ? $this->display_error('db_unsupported_feature') : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + mssql_close($this->conn_id); + } + +} diff --git a/system/database/drivers/mssql/mssql_forge.php b/system/database/drivers/mssql/mssql_forge.php new file mode 100644 index 0000000..9a3e3eb --- /dev/null +++ b/system/database/drivers/mssql/mssql_forge.php @@ -0,0 +1,151 @@ + 'SMALLINT', + 'SMALLINT' => 'INT', + 'INT' => 'BIGINT', + 'REAL' => 'FLOAT' + ); + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('ADD', 'DROP'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN '; + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + $sqls[] = $sql.$this->_process_column($field[$i]); + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE) + { + unset($attributes['CONSTRAINT']); + } + + switch (strtoupper($attributes['TYPE'])) + { + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'INTEGER': + $attributes['TYPE'] = 'INT'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['auto_increment'] = ' IDENTITY(1,1)'; + } + } + +} diff --git a/system/database/drivers/mssql/mssql_result.php b/system/database/drivers/mssql/mssql_result.php new file mode 100644 index 0000000..8e1f416 --- /dev/null +++ b/system/database/drivers/mssql/mssql_result.php @@ -0,0 +1,198 @@ +num_rows) + ? $this->num_rows + : $this->num_rows = mssql_num_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return mssql_num_fields($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + mssql_field_seek($this->result_id, 0); + while ($field = mssql_fetch_field($this->result_id)) + { + $field_names[] = $field->name; + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $field = mssql_fetch_field($this->result_id, $i); + + $retval[$i] = new stdClass(); + $retval[$i]->name = $field->name; + $retval[$i]->type = $field->type; + $retval[$i]->max_length = $field->max_length; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_resource($this->result_id)) + { + mssql_free_result($this->result_id); + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * @param int $n + * @return bool + */ + public function data_seek($n = 0) + { + return mssql_data_seek($this->result_id, $n); + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return mssql_fetch_assoc($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + $row = mssql_fetch_object($this->result_id); + + if ($class_name === 'stdClass' OR ! $row) + { + return $row; + } + + $class_name = new $class_name(); + foreach ($row as $key => $value) + { + $class_name->$key = $value; + } + + return $class_name; + } + +} diff --git a/system/database/drivers/mssql/mssql_utility.php b/system/database/drivers/mssql/mssql_utility.php new file mode 100644 index 0000000..90b7107 --- /dev/null +++ b/system/database/drivers/mssql/mssql_utility.php @@ -0,0 +1,77 @@ +db->display_error('db_unsupported_feature'); + } + +} diff --git a/system/database/drivers/mysql/index.html b/system/database/drivers/mysql/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/mysql/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php new file mode 100644 index 0000000..05a3283 --- /dev/null +++ b/system/database/drivers/mysql/mysql_driver.php @@ -0,0 +1,494 @@ +port)) + { + $this->hostname .= ':'.$this->port; + } + } + + // -------------------------------------------------------------------- + + /** + * Non-persistent database connection + * + * @param bool $persistent + * @return resource + */ + public function db_connect($persistent = FALSE) + { + $client_flags = ($this->compress === FALSE) ? 0 : MYSQL_CLIENT_COMPRESS; + + if ($this->encrypt === TRUE) + { + $client_flags = $client_flags | MYSQL_CLIENT_SSL; + } + + // Error suppression is necessary mostly due to PHP 5.5+ issuing E_DEPRECATED messages + $this->conn_id = ($persistent === TRUE) + ? mysql_pconnect($this->hostname, $this->username, $this->password, $client_flags) + : mysql_connect($this->hostname, $this->username, $this->password, TRUE, $client_flags); + + // ---------------------------------------------------------------- + + // Select the DB... assuming a database name is specified in the config file + if ($this->database !== '' && ! $this->db_select()) + { + log_message('error', 'Unable to select database: '.$this->database); + + return ($this->db_debug === TRUE) + ? $this->display_error('db_unable_to_select', $this->database) + : FALSE; + } + + if (isset($this->stricton) && is_resource($this->conn_id)) + { + if ($this->stricton) + { + $this->simple_query('SET SESSION sql_mode = CONCAT(@@sql_mode, ",", "STRICT_ALL_TABLES")'); + } + else + { + $this->simple_query( + 'SET SESSION sql_mode = + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + @@sql_mode, + "STRICT_ALL_TABLES,", ""), + ",STRICT_ALL_TABLES", ""), + "STRICT_ALL_TABLES", ""), + "STRICT_TRANS_TABLES,", ""), + ",STRICT_TRANS_TABLES", ""), + "STRICT_TRANS_TABLES", "")' + ); + } + } + + return $this->conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Reconnect + * + * Keep / reestablish the db connection if no queries have been + * sent for a length of time exceeding the server's idle timeout + * + * @return void + */ + public function reconnect() + { + if (mysql_ping($this->conn_id) === FALSE) + { + $this->conn_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Select the database + * + * @param string $database + * @return bool + */ + public function db_select($database = '') + { + if ($database === '') + { + $database = $this->database; + } + + if (mysql_select_db($database, $this->conn_id)) + { + $this->database = $database; + $this->data_cache = array(); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Set client character set + * + * @param string $charset + * @return bool + */ + protected function _db_set_charset($charset) + { + return mysql_set_charset($charset, $this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + if ( ! $this->conn_id OR ($version = mysql_get_server_info($this->conn_id)) === FALSE) + { + return FALSE; + } + + return $this->data_cache['version'] = $version; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return mixed + */ + protected function _execute($sql) + { + return mysql_query($this->_prep_query($sql), $this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Prep the query + * + * If needed, each database adapter can prep the query string + * + * @param string $sql an SQL query + * @return string + */ + protected function _prep_query($sql) + { + // mysql_affected_rows() returns 0 for "DELETE FROM TABLE" queries. This hack + // modifies the query so that it a proper number of affected rows is returned. + if ($this->delete_hack === TRUE && preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $sql)) + { + return trim($sql).' WHERE 1=1'; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + $this->simple_query('SET AUTOCOMMIT=0'); + return $this->simple_query('START TRANSACTION'); // can also be BEGIN or BEGIN WORK + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + if ($this->simple_query('COMMIT')) + { + $this->simple_query('SET AUTOCOMMIT=1'); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + if ($this->simple_query('ROLLBACK')) + { + $this->simple_query('SET AUTOCOMMIT=1'); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + return mysql_real_escape_string($str, $this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return mysql_affected_rows($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return int + */ + public function insert_id() + { + return mysql_insert_id($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * List table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SHOW TABLES FROM '.$this->escape_identifiers($this->database); + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql." LIKE '".$this->escape_like_str($this->dbprefix)."%'"; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE))) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->Field; + + sscanf($query[$i]->Type, '%[a-z](%d)', + $retval[$i]->type, + $retval[$i]->max_length + ); + + $retval[$i]->default = $query[$i]->Default; + $retval[$i]->primary_key = (int) ($query[$i]->Key === 'PRI'); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + return array('code' => mysql_errno($this->conn_id), 'message' => mysql_error($this->conn_id)); + } + + // -------------------------------------------------------------------- + + /** + * FROM tables + * + * Groups tables in FROM clauses if needed, so there is no confusion + * about operator precedence. + * + * @return string + */ + protected function _from_tables() + { + if ( ! empty($this->qb_join) && count($this->qb_from) > 1) + { + return '('.implode(', ', $this->qb_from).')'; + } + + return implode(', ', $this->qb_from); + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + // Error suppression to avoid annoying E_WARNINGs in cases + // where the connection has already been closed for some reason. + @mysql_close($this->conn_id); + } + +} diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php new file mode 100644 index 0000000..f8a998b --- /dev/null +++ b/system/database/drivers/mysql/mysql_forge.php @@ -0,0 +1,243 @@ +db->char_set) && ! strpos($sql, 'CHARACTER SET') && ! strpos($sql, 'CHARSET')) + { + $sql .= ' DEFAULT CHARACTER SET = '.$this->db->char_set; + } + + if ( ! empty($this->db->dbcollat) && ! strpos($sql, 'COLLATE')) + { + $sql .= ' COLLATE = '.$this->db->dbcollat; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'DROP') + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + $field[$i] = ($alter_type === 'ADD') + ? "\n\tADD ".$field[$i]['_literal'] + : "\n\tMODIFY ".$field[$i]['_literal']; + } + else + { + if ($alter_type === 'ADD') + { + $field[$i]['_literal'] = "\n\tADD "; + } + else + { + $field[$i]['_literal'] = empty($field[$i]['new_name']) ? "\n\tMODIFY " : "\n\tCHANGE "; + } + + $field[$i] = $field[$i]['_literal'].$this->_process_column($field[$i]); + } + } + + return array($sql.implode(',', $field)); + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + $extra_clause = isset($field['after']) + ? ' AFTER '.$this->db->escape_identifiers($field['after']) : ''; + + if (empty($extra_clause) && isset($field['first']) && $field['first'] === TRUE) + { + $extra_clause = ' FIRST'; + } + + + return $this->db->escape_identifiers($field['name']) + .(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name'])) + .' '.$field['type'].$field['length'] + .$field['unsigned'] + .$field['null'] + .$field['default'] + .$field['auto_increment'] + .$field['unique'] + .(empty($field['comment']) ? '' : ' COMMENT '.$field['comment']) + .$extra_clause; + } + + // -------------------------------------------------------------------- + + /** + * Process indexes + * + * @param string $table (ignored) + * @return string + */ + protected function _process_indexes($table) + { + $sql = ''; + + for ($i = 0, $c = count($this->keys); $i < $c; $i++) + { + if (is_array($this->keys[$i])) + { + for ($i2 = 0, $c2 = count($this->keys[$i]); $i2 < $c2; $i2++) + { + if ( ! isset($this->fields[$this->keys[$i][$i2]])) + { + unset($this->keys[$i][$i2]); + continue; + } + } + } + elseif ( ! isset($this->fields[$this->keys[$i]])) + { + unset($this->keys[$i]); + continue; + } + + is_array($this->keys[$i]) OR $this->keys[$i] = array($this->keys[$i]); + + $sql .= ",\n\tKEY ".$this->db->escape_identifiers(implode('_', $this->keys[$i])) + .' ('.implode(', ', $this->db->escape_identifiers($this->keys[$i])).')'; + } + + $this->keys = array(); + + return $sql; + } + +} diff --git a/system/database/drivers/mysql/mysql_result.php b/system/database/drivers/mysql/mysql_result.php new file mode 100644 index 0000000..07d5187 --- /dev/null +++ b/system/database/drivers/mysql/mysql_result.php @@ -0,0 +1,199 @@ +num_rows = mysql_num_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Number of rows in the result set + * + * @return int + */ + public function num_rows() + { + return $this->num_rows; + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return mysql_num_fields($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + mysql_field_seek($this->result_id, 0); + while ($field = mysql_fetch_field($this->result_id)) + { + $field_names[] = $field->name; + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = mysql_field_name($this->result_id, $i); + $retval[$i]->type = mysql_field_type($this->result_id, $i); + $retval[$i]->max_length = mysql_field_len($this->result_id, $i); + $retval[$i]->primary_key = (int) (strpos(mysql_field_flags($this->result_id, $i), 'primary_key') !== FALSE); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_resource($this->result_id)) + { + mysql_free_result($this->result_id); + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * @param int $n + * @return bool + */ + public function data_seek($n = 0) + { + return $this->num_rows + ? mysql_data_seek($this->result_id, $n) + : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return mysql_fetch_assoc($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return mysql_fetch_object($this->result_id, $class_name); + } + +} diff --git a/system/database/drivers/mysql/mysql_utility.php b/system/database/drivers/mysql/mysql_utility.php new file mode 100644 index 0000000..ae3c26c --- /dev/null +++ b/system/database/drivers/mysql/mysql_utility.php @@ -0,0 +1,211 @@ +db->query('SHOW CREATE TABLE '.$this->db->escape_identifiers($this->db->database.'.'.$table)); + + // No result means the table name was invalid + if ($query === FALSE) + { + continue; + } + + // Write out the table schema + $output .= '#'.$newline.'# TABLE STRUCTURE FOR: '.$table.$newline.'#'.$newline.$newline; + + if ($add_drop === TRUE) + { + $output .= 'DROP TABLE IF EXISTS '.$this->db->protect_identifiers($table).';'.$newline.$newline; + } + + $i = 0; + $result = $query->result_array(); + foreach ($result[0] as $val) + { + if ($i++ % 2) + { + $output .= $val.';'.$newline.$newline; + } + } + + // If inserts are not needed we're done... + if ($add_insert === FALSE) + { + continue; + } + + // Grab all the data from the current table + $query = $this->db->query('SELECT * FROM '.$this->db->protect_identifiers($table)); + + if ($query->num_rows() === 0) + { + continue; + } + + // Fetch the field names and determine if the field is an + // integer type. We use this info to decide whether to + // surround the data with quotes or not + + $i = 0; + $field_str = ''; + $is_int = array(); + while ($field = mysql_fetch_field($query->result_id)) + { + // Most versions of MySQL store timestamp as a string + $is_int[$i] = in_array(strtolower(mysql_field_type($query->result_id, $i)), + array('tinyint', 'smallint', 'mediumint', 'int', 'bigint'), //, 'timestamp'), + TRUE); + + // Create a string of field names + $field_str .= $this->db->escape_identifiers($field->name).', '; + $i++; + } + + // Trim off the end comma + $field_str = preg_replace('/, $/' , '', $field_str); + + // Build the insert string + foreach ($query->result_array() as $row) + { + $val_str = ''; + + $i = 0; + foreach ($row as $v) + { + // Is the value NULL? + if ($v === NULL) + { + $val_str .= 'NULL'; + } + else + { + // Escape the data if it's not an integer + $val_str .= ($is_int[$i] === FALSE) ? $this->db->escape($v) : $v; + } + + // Append a comma + $val_str .= ', '; + $i++; + } + + // Remove the comma at the end of the string + $val_str = preg_replace('/, $/' , '', $val_str); + + // Build the INSERT string + $output .= 'INSERT INTO '.$this->db->protect_identifiers($table).' ('.$field_str.') VALUES ('.$val_str.');'.$newline; + } + + $output .= $newline.$newline; + } + + // Do we need to include a statement to re-enable foreign key checks? + if ($foreign_key_checks === FALSE) + { + $output .= 'SET foreign_key_checks = 1;'.$newline; + } + + return $output; + } + +} diff --git a/system/database/drivers/mysqli/index.html b/system/database/drivers/mysqli/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/mysqli/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php new file mode 100644 index 0000000..7cec29e --- /dev/null +++ b/system/database/drivers/mysqli/mysqli_driver.php @@ -0,0 +1,544 @@ +hostname[0] === '/') + { + $hostname = NULL; + $port = NULL; + $socket = $this->hostname; + } + else + { + $hostname = ($persistent === TRUE) + ? 'p:'.$this->hostname : $this->hostname; + $port = empty($this->port) ? NULL : $this->port; + $socket = NULL; + } + + $client_flags = ($this->compress === TRUE) ? MYSQLI_CLIENT_COMPRESS : 0; + $this->_mysqli = mysqli_init(); + + $this->_mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 10); + + if (isset($this->stricton)) + { + if ($this->stricton) + { + $this->_mysqli->options(MYSQLI_INIT_COMMAND, 'SET SESSION sql_mode = CONCAT(@@sql_mode, ",", "STRICT_ALL_TABLES")'); + } + else + { + $this->_mysqli->options(MYSQLI_INIT_COMMAND, + 'SET SESSION sql_mode = + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + @@sql_mode, + "STRICT_ALL_TABLES,", ""), + ",STRICT_ALL_TABLES", ""), + "STRICT_ALL_TABLES", ""), + "STRICT_TRANS_TABLES,", ""), + ",STRICT_TRANS_TABLES", ""), + "STRICT_TRANS_TABLES", "")' + ); + } + } + + if (is_array($this->encrypt)) + { + $ssl = array(); + empty($this->encrypt['ssl_key']) OR $ssl['key'] = $this->encrypt['ssl_key']; + empty($this->encrypt['ssl_cert']) OR $ssl['cert'] = $this->encrypt['ssl_cert']; + empty($this->encrypt['ssl_ca']) OR $ssl['ca'] = $this->encrypt['ssl_ca']; + empty($this->encrypt['ssl_capath']) OR $ssl['capath'] = $this->encrypt['ssl_capath']; + empty($this->encrypt['ssl_cipher']) OR $ssl['cipher'] = $this->encrypt['ssl_cipher']; + + if ( ! empty($ssl)) + { + if (isset($this->encrypt['ssl_verify'])) + { + if ($this->encrypt['ssl_verify']) + { + defined('MYSQLI_OPT_SSL_VERIFY_SERVER_CERT') && $this->_mysqli->options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, TRUE); + } + // Apparently (when it exists), setting MYSQLI_OPT_SSL_VERIFY_SERVER_CERT + // to FALSE didn't do anything, so PHP 5.6.16 introduced yet another + // constant ... + // + // https://secure.php.net/ChangeLog-5.php#5.6.16 + // https://bugs.php.net/bug.php?id=68344 + elseif (defined('MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT')) + { + $client_flags |= MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT; + } + } + + $client_flags |= MYSQLI_CLIENT_SSL; + $this->_mysqli->ssl_set( + isset($ssl['key']) ? $ssl['key'] : NULL, + isset($ssl['cert']) ? $ssl['cert'] : NULL, + isset($ssl['ca']) ? $ssl['ca'] : NULL, + isset($ssl['capath']) ? $ssl['capath'] : NULL, + isset($ssl['cipher']) ? $ssl['cipher'] : NULL + ); + } + } + + if ($this->_mysqli->real_connect($hostname, $this->username, $this->password, $this->database, $port, $socket, $client_flags)) + { + // Prior to version 5.7.3, MySQL silently downgrades to an unencrypted connection if SSL setup fails + if ( + ($client_flags & MYSQLI_CLIENT_SSL) + && version_compare($this->_mysqli->client_info, '5.7.3', '<=') + && empty($this->_mysqli->query("SHOW STATUS LIKE 'ssl_cipher'")->fetch_object()->Value) + ) + { + $this->_mysqli->close(); + $message = 'MySQLi was configured for an SSL connection, but got an unencrypted connection instead!'; + log_message('error', $message); + return ($this->db_debug) ? $this->display_error($message, '', TRUE) : FALSE; + } + + return $this->_mysqli; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Reconnect + * + * Keep / reestablish the db connection if no queries have been + * sent for a length of time exceeding the server's idle timeout + * + * @return void + */ + public function reconnect() + { + if ($this->conn_id !== FALSE && $this->conn_id->ping() === FALSE) + { + $this->conn_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Select the database + * + * @param string $database + * @return bool + */ + public function db_select($database = '') + { + if ($database === '') + { + $database = $this->database; + } + + if ($this->conn_id->select_db($database)) + { + $this->database = $database; + $this->data_cache = array(); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Set client character set + * + * @param string $charset + * @return bool + */ + protected function _db_set_charset($charset) + { + return $this->conn_id->set_charset($charset); + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + return $this->data_cache['version'] = $this->conn_id->server_info; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return mixed + */ + protected function _execute($sql) + { + return $this->conn_id->query($this->_prep_query($sql)); + } + + // -------------------------------------------------------------------- + + /** + * Prep the query + * + * If needed, each database adapter can prep the query string + * + * @param string $sql an SQL query + * @return string + */ + protected function _prep_query($sql) + { + // mysqli_affected_rows() returns 0 for "DELETE FROM TABLE" queries. This hack + // modifies the query so that it a proper number of affected rows is returned. + if ($this->delete_hack === TRUE && preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $sql)) + { + return trim($sql).' WHERE 1=1'; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + $this->conn_id->autocommit(FALSE); + return is_php('5.5') + ? $this->conn_id->begin_transaction() + : $this->simple_query('START TRANSACTION'); // can also be BEGIN or BEGIN WORK + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + if ($this->conn_id->commit()) + { + $this->conn_id->autocommit(TRUE); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + if ($this->conn_id->rollback()) + { + $this->conn_id->autocommit(TRUE); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + return $this->conn_id->real_escape_string($str); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return $this->conn_id->affected_rows; + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return int + */ + public function insert_id() + { + return $this->conn_id->insert_id; + } + + // -------------------------------------------------------------------- + + /** + * List table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SHOW TABLES FROM '.$this->escape_identifiers($this->database); + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql." LIKE '".$this->escape_like_str($this->dbprefix)."%'"; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE))) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->Field; + + sscanf($query[$i]->Type, '%[a-z](%d)', + $retval[$i]->type, + $retval[$i]->max_length + ); + + $retval[$i]->default = $query[$i]->Default; + $retval[$i]->primary_key = (int) ($query[$i]->Key === 'PRI'); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + if ( ! empty($this->_mysqli->connect_errno)) + { + return array( + 'code' => $this->_mysqli->connect_errno, + 'message' => $this->_mysqli->connect_error + ); + } + + return array('code' => $this->conn_id->errno, 'message' => $this->conn_id->error); + } + + // -------------------------------------------------------------------- + + /** + * FROM tables + * + * Groups tables in FROM clauses if needed, so there is no confusion + * about operator precedence. + * + * @return string + */ + protected function _from_tables() + { + if ( ! empty($this->qb_join) && count($this->qb_from) > 1) + { + return '('.implode(', ', $this->qb_from).')'; + } + + return implode(', ', $this->qb_from); + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + $this->conn_id->close(); + } + +} diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php new file mode 100644 index 0000000..dd77edc --- /dev/null +++ b/system/database/drivers/mysqli/mysqli_forge.php @@ -0,0 +1,244 @@ +db->char_set) && ! strpos($sql, 'CHARACTER SET') && ! strpos($sql, 'CHARSET')) + { + $sql .= ' DEFAULT CHARACTER SET = '.$this->db->char_set; + } + + if ( ! empty($this->db->dbcollat) && ! strpos($sql, 'COLLATE')) + { + $sql .= ' COLLATE = '.$this->db->dbcollat; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'DROP') + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + $field[$i] = ($alter_type === 'ADD') + ? "\n\tADD ".$field[$i]['_literal'] + : "\n\tMODIFY ".$field[$i]['_literal']; + } + else + { + if ($alter_type === 'ADD') + { + $field[$i]['_literal'] = "\n\tADD "; + } + else + { + $field[$i]['_literal'] = empty($field[$i]['new_name']) ? "\n\tMODIFY " : "\n\tCHANGE "; + } + + $field[$i] = $field[$i]['_literal'].$this->_process_column($field[$i]); + } + } + + return array($sql.implode(',', $field)); + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + $extra_clause = isset($field['after']) + ? ' AFTER '.$this->db->escape_identifiers($field['after']) : ''; + + if (empty($extra_clause) && isset($field['first']) && $field['first'] === TRUE) + { + $extra_clause = ' FIRST'; + } + + return $this->db->escape_identifiers($field['name']) + .(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name'])) + .' '.$field['type'].$field['length'] + .$field['unsigned'] + .$field['null'] + .$field['default'] + .$field['auto_increment'] + .$field['unique'] + .(empty($field['comment']) ? '' : ' COMMENT '.$field['comment']) + .$extra_clause; + } + + // -------------------------------------------------------------------- + + /** + * Process indexes + * + * @param string $table (ignored) + * @return string + */ + protected function _process_indexes($table) + { + $sql = ''; + + for ($i = 0, $c = count($this->keys); $i < $c; $i++) + { + if (is_array($this->keys[$i])) + { + for ($i2 = 0, $c2 = count($this->keys[$i]); $i2 < $c2; $i2++) + { + if ( ! isset($this->fields[$this->keys[$i][$i2]])) + { + unset($this->keys[$i][$i2]); + continue; + } + } + } + elseif ( ! isset($this->fields[$this->keys[$i]])) + { + unset($this->keys[$i]); + continue; + } + + is_array($this->keys[$i]) OR $this->keys[$i] = array($this->keys[$i]); + + $sql .= ",\n\tKEY ".$this->db->escape_identifiers(implode('_', $this->keys[$i])) + .' ('.implode(', ', $this->db->escape_identifiers($this->keys[$i])).')'; + } + + $this->keys = array(); + + return $sql; + } + +} diff --git a/system/database/drivers/mysqli/mysqli_result.php b/system/database/drivers/mysqli/mysqli_result.php new file mode 100644 index 0000000..bac0737 --- /dev/null +++ b/system/database/drivers/mysqli/mysqli_result.php @@ -0,0 +1,232 @@ +num_rows) + ? $this->num_rows + : $this->num_rows = $this->result_id->num_rows; + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return $this->result_id->field_count; + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + $this->result_id->field_seek(0); + while ($field = $this->result_id->fetch_field()) + { + $field_names[] = $field->name; + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + $field_data = $this->result_id->fetch_fields(); + for ($i = 0, $c = count($field_data); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $field_data[$i]->name; + $retval[$i]->type = static::_get_field_type($field_data[$i]->type); + $retval[$i]->max_length = $field_data[$i]->max_length; + $retval[$i]->primary_key = (int) ($field_data[$i]->flags & MYSQLI_PRI_KEY_FLAG); + $retval[$i]->default = $field_data[$i]->def; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Get field type + * + * Extracts field type info from the bitflags returned by + * mysqli_result::fetch_fields() + * + * @used-by CI_DB_mysqli_result::field_data() + * @param int $type + * @return string + */ + private static function _get_field_type($type) + { + static $map; + isset($map) OR $map = array( + MYSQLI_TYPE_DECIMAL => 'decimal', + MYSQLI_TYPE_BIT => 'bit', + MYSQLI_TYPE_TINY => 'tinyint', + MYSQLI_TYPE_SHORT => 'smallint', + MYSQLI_TYPE_INT24 => 'mediumint', + MYSQLI_TYPE_LONG => 'int', + MYSQLI_TYPE_LONGLONG => 'bigint', + MYSQLI_TYPE_FLOAT => 'float', + MYSQLI_TYPE_DOUBLE => 'double', + MYSQLI_TYPE_TIMESTAMP => 'timestamp', + MYSQLI_TYPE_DATE => 'date', + MYSQLI_TYPE_TIME => 'time', + MYSQLI_TYPE_DATETIME => 'datetime', + MYSQLI_TYPE_YEAR => 'year', + MYSQLI_TYPE_NEWDATE => 'date', + MYSQLI_TYPE_INTERVAL => 'interval', + MYSQLI_TYPE_ENUM => 'enum', + MYSQLI_TYPE_SET => 'set', + MYSQLI_TYPE_TINY_BLOB => 'tinyblob', + MYSQLI_TYPE_MEDIUM_BLOB => 'mediumblob', + MYSQLI_TYPE_BLOB => 'blob', + MYSQLI_TYPE_LONG_BLOB => 'longblob', + MYSQLI_TYPE_STRING => 'char', + MYSQLI_TYPE_VAR_STRING => 'varchar', + MYSQLI_TYPE_GEOMETRY => 'geometry' + ); + + return isset($map[$type]) ? $map[$type] : $type; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_object($this->result_id)) + { + $this->result_id->free(); + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * @param int $n + * @return bool + */ + public function data_seek($n = 0) + { + return $this->result_id->data_seek($n); + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return $this->result_id->fetch_assoc(); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return $this->result_id->fetch_object($class_name); + } + +} diff --git a/system/database/drivers/mysqli/mysqli_utility.php b/system/database/drivers/mysqli/mysqli_utility.php new file mode 100644 index 0000000..332da60 --- /dev/null +++ b/system/database/drivers/mysqli/mysqli_utility.php @@ -0,0 +1,211 @@ +db->query('SHOW CREATE TABLE '.$this->db->escape_identifiers($this->db->database.'.'.$table)); + + // No result means the table name was invalid + if ($query === FALSE) + { + continue; + } + + // Write out the table schema + $output .= '#'.$newline.'# TABLE STRUCTURE FOR: '.$table.$newline.'#'.$newline.$newline; + + if ($add_drop === TRUE) + { + $output .= 'DROP TABLE IF EXISTS '.$this->db->protect_identifiers($table).';'.$newline.$newline; + } + + $i = 0; + $result = $query->result_array(); + foreach ($result[0] as $val) + { + if ($i++ % 2) + { + $output .= $val.';'.$newline.$newline; + } + } + + // If inserts are not needed we're done... + if ($add_insert === FALSE) + { + continue; + } + + // Grab all the data from the current table + $query = $this->db->query('SELECT * FROM '.$this->db->protect_identifiers($table)); + + if ($query->num_rows() === 0) + { + continue; + } + + // Fetch the field names and determine if the field is an + // integer type. We use this info to decide whether to + // surround the data with quotes or not + + $i = 0; + $field_str = ''; + $is_int = array(); + while ($field = $query->result_id->fetch_field()) + { + // Most versions of MySQL store timestamp as a string + $is_int[$i] = in_array($field->type, array(MYSQLI_TYPE_TINY, MYSQLI_TYPE_SHORT, MYSQLI_TYPE_INT24, MYSQLI_TYPE_LONG), TRUE); + + // Create a string of field names + $field_str .= $this->db->escape_identifiers($field->name).', '; + $i++; + } + + // Trim off the end comma + $field_str = preg_replace('/, $/' , '', $field_str); + + // Build the insert string + foreach ($query->result_array() as $row) + { + $val_str = ''; + + $i = 0; + foreach ($row as $v) + { + // Is the value NULL? + if ($v === NULL) + { + $val_str .= 'NULL'; + } + else + { + // Escape the data if it's not an integer + $val_str .= ($is_int[$i] === FALSE) ? $this->db->escape($v) : $v; + } + + // Append a comma + $val_str .= ', '; + $i++; + } + + // Remove the comma at the end of the string + $val_str = preg_replace('/, $/' , '', $val_str); + + // Build the INSERT string + $output .= 'INSERT INTO '.$this->db->protect_identifiers($table).' ('.$field_str.') VALUES ('.$val_str.');'.$newline; + } + + $output .= $newline.$newline; + } + + // Do we need to include a statement to re-enable foreign key checks? + if ($foreign_key_checks === FALSE) + { + $output .= 'SET foreign_key_checks = 1;'.$newline; + } + + return $output; + } + +} diff --git a/system/database/drivers/oci8/index.html b/system/database/drivers/oci8/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/oci8/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php new file mode 100644 index 0000000..1bd9773 --- /dev/null +++ b/system/database/drivers/oci8/oci8_driver.php @@ -0,0 +1,688 @@ + '/^\(DESCRIPTION=(\(.+\)){2,}\)$/', // TNS + // Easy Connect string (Oracle 10g+) + 'ec' => '/^(\/\/)?[a-z0-9.:_-]+(:[1-9][0-9]{0,4})?(\/[a-z0-9$_]+)?(:[^\/])?(\/[a-z0-9$_]+)?$/i', + 'in' => '/^[a-z0-9$_]+$/i' // Instance name (defined in tnsnames.ora) + ); + + /* Space characters don't have any effect when actually + * connecting, but can be a hassle while validating the DSN. + */ + $this->dsn = str_replace(array("\n", "\r", "\t", ' '), '', $this->dsn); + + if ($this->dsn !== '') + { + foreach ($valid_dsns as $regexp) + { + if (preg_match($regexp, $this->dsn)) + { + return; + } + } + } + + // Legacy support for TNS in the hostname configuration field + $this->hostname = str_replace(array("\n", "\r", "\t", ' '), '', $this->hostname); + if (preg_match($valid_dsns['tns'], $this->hostname)) + { + $this->dsn = $this->hostname; + return; + } + elseif ($this->hostname !== '' && strpos($this->hostname, '/') === FALSE && strpos($this->hostname, ':') === FALSE + && (( ! empty($this->port) && ctype_digit($this->port)) OR $this->database !== '')) + { + /* If the hostname field isn't empty, doesn't contain + * ':' and/or '/' and if port and/or database aren't + * empty, then the hostname field is most likely indeed + * just a hostname. Therefore we'll try and build an + * Easy Connect string from these 3 settings, assuming + * that the database field is a service name. + */ + $this->dsn = $this->hostname + .(( ! empty($this->port) && ctype_digit($this->port)) ? ':'.$this->port : '') + .($this->database !== '' ? '/'.ltrim($this->database, '/') : ''); + + if (preg_match($valid_dsns['ec'], $this->dsn)) + { + return; + } + } + + /* At this point, we can only try and validate the hostname and + * database fields separately as DSNs. + */ + if (preg_match($valid_dsns['ec'], $this->hostname) OR preg_match($valid_dsns['in'], $this->hostname)) + { + $this->dsn = $this->hostname; + return; + } + + $this->database = str_replace(array("\n", "\r", "\t", ' '), '', $this->database); + foreach ($valid_dsns as $regexp) + { + if (preg_match($regexp, $this->database)) + { + return; + } + } + + /* Well - OK, an empty string should work as well. + * PHP will try to use environment variables to + * determine which Oracle instance to connect to. + */ + $this->dsn = ''; + } + + // -------------------------------------------------------------------- + + /** + * Non-persistent database connection + * + * @param bool $persistent + * @return resource + */ + public function db_connect($persistent = FALSE) + { + $func = ($persistent === TRUE) ? 'oci_pconnect' : 'oci_connect'; + return empty($this->char_set) + ? $func($this->username, $this->password, $this->dsn) + : $func($this->username, $this->password, $this->dsn, $this->char_set); + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + if ( ! $this->conn_id OR ($version_string = oci_server_version($this->conn_id)) === FALSE) + { + return FALSE; + } + elseif (preg_match('#Release\s(\d+(?:\.\d+)+)#', $version_string, $match)) + { + return $this->data_cache['version'] = $match[1]; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return resource + */ + protected function _execute($sql) + { + /* Oracle must parse the query before it is run. All of the actions with + * the query are based on the statement id returned by oci_parse(). + */ + if ($this->_reset_stmt_id === TRUE) + { + $this->stmt_id = oci_parse($this->conn_id, $sql); + } + + oci_set_prefetch($this->stmt_id, 1000); + return oci_execute($this->stmt_id, $this->commit_mode); + } + + // -------------------------------------------------------------------- + + /** + * Get cursor. Returns a cursor from the database + * + * @return resource + */ + public function get_cursor() + { + return $this->curs_id = oci_new_cursor($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Stored Procedure. Executes a stored procedure + * + * @param string package name in which the stored procedure is in + * @param string stored procedure name to execute + * @param array parameters + * @return mixed + * + * params array keys + * + * KEY OPTIONAL NOTES + * name no the name of the parameter should be in : format + * value no the value of the parameter. If this is an OUT or IN OUT parameter, + * this should be a reference to a variable + * type yes the type of the parameter + * length yes the max size of the parameter + */ + public function stored_procedure($package, $procedure, array $params) + { + if ($package === '' OR $procedure === '') + { + log_message('error', 'Invalid query: '.$package.'.'.$procedure); + return ($this->db_debug) ? $this->display_error('db_invalid_query') : FALSE; + } + + // Build the query string + $sql = 'BEGIN '.$package.'.'.$procedure.'('; + + $have_cursor = FALSE; + foreach ($params as $param) + { + $sql .= $param['name'].','; + + if (isset($param['type']) && $param['type'] === OCI_B_CURSOR) + { + $have_cursor = TRUE; + } + } + $sql = trim($sql, ',').'); END;'; + + $this->_reset_stmt_id = FALSE; + $this->stmt_id = oci_parse($this->conn_id, $sql); + $this->_bind_params($params); + $result = $this->query($sql, FALSE, $have_cursor); + $this->_reset_stmt_id = TRUE; + return $result; + } + + // -------------------------------------------------------------------- + + /** + * Bind parameters + * + * @param array $params + * @return void + */ + protected function _bind_params($params) + { + if ( ! is_array($params) OR ! is_resource($this->stmt_id)) + { + return; + } + + foreach ($params as $param) + { + foreach (array('name', 'value', 'type', 'length') as $val) + { + if ( ! isset($param[$val])) + { + $param[$val] = ''; + } + } + + oci_bind_by_name($this->stmt_id, $param['name'], $param['value'], $param['length'], $param['type']); + } + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + $this->commit_mode = OCI_NO_AUTO_COMMIT; + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + $this->commit_mode = OCI_COMMIT_ON_SUCCESS; + + return oci_commit($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + $this->commit_mode = OCI_COMMIT_ON_SUCCESS; + return oci_rollback($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return oci_num_rows($this->stmt_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return int + */ + public function insert_id() + { + // not supported in oracle + return $this->display_error('db_unsupported_function'); + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "TABLE_NAME" FROM "ALL_TABLES"'; + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql.' WHERE "TABLE_NAME" LIKE \''.$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + if (strpos($table, '.') !== FALSE) + { + sscanf($table, '%[^.].%s', $owner, $table); + } + else + { + $owner = $this->username; + } + + return 'SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS + WHERE UPPER(OWNER) = '.$this->escape(strtoupper($owner)).' + AND UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (strpos($table, '.') !== FALSE) + { + sscanf($table, '%[^.].%s', $owner, $table); + } + else + { + $owner = $this->username; + } + + $sql = 'SELECT COLUMN_NAME, DATA_TYPE, CHAR_LENGTH, DATA_PRECISION, DATA_LENGTH, DATA_DEFAULT, NULLABLE + FROM ALL_TAB_COLUMNS + WHERE UPPER(OWNER) = '.$this->escape(strtoupper($owner)).' + AND UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->COLUMN_NAME; + $retval[$i]->type = $query[$i]->DATA_TYPE; + + $length = ($query[$i]->CHAR_LENGTH > 0) + ? $query[$i]->CHAR_LENGTH : $query[$i]->DATA_PRECISION; + if ($length === NULL) + { + $length = $query[$i]->DATA_LENGTH; + } + $retval[$i]->max_length = $length; + + $default = $query[$i]->DATA_DEFAULT; + if ($default === NULL && $query[$i]->NULLABLE === 'N') + { + $default = ''; + } + $retval[$i]->default = $default; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + // oci_error() returns an array that already contains + // 'code' and 'message' keys, but it can return false + // if there was no error .... + if (is_resource($this->curs_id)) + { + $error = oci_error($this->curs_id); + } + elseif (is_resource($this->stmt_id)) + { + $error = oci_error($this->stmt_id); + } + elseif (is_resource($this->conn_id)) + { + $error = oci_error($this->conn_id); + } + else + { + $error = oci_error(); + } + + return is_array($error) + ? $error + : array('code' => '', 'message' => ''); + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string + */ + protected function _insert_batch($table, $keys, $values) + { + $keys = implode(', ', $keys); + $sql = "INSERT ALL\n"; + + for ($i = 0, $c = count($values); $i < $c; $i++) + { + $sql .= ' INTO '.$table.' ('.$keys.') VALUES '.$values[$i]."\n"; + } + + return $sql.'SELECT * FROM dual'; + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE TABLE '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + if ($this->qb_limit) + { + $this->where('rownum <= ',$this->qb_limit, FALSE); + $this->qb_limit = FALSE; + } + + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + if (version_compare($this->version(), '12.1', '>=')) + { + // OFFSET-FETCH can be used only with the ORDER BY clause + empty($this->qb_orderby) && $sql .= ' ORDER BY 1'; + + return $sql.' OFFSET '.(int) $this->qb_offset.' ROWS FETCH NEXT '.$this->qb_limit.' ROWS ONLY'; + } + + $this->limit_used = TRUE; + return 'SELECT * FROM (SELECT inner_query.*, rownum rnum FROM ('.$sql.') inner_query WHERE rownum < '.($this->qb_offset + $this->qb_limit + 1).')' + .($this->qb_offset ? ' WHERE rnum >= '.($this->qb_offset + 1) : ''); + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + oci_close($this->conn_id); + } + +} diff --git a/system/database/drivers/oci8/oci8_forge.php b/system/database/drivers/oci8/oci8_forge.php new file mode 100644 index 0000000..0011bb0 --- /dev/null +++ b/system/database/drivers/oci8/oci8_forge.php @@ -0,0 +1,187 @@ +db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + $field[$i] = "\n\t".$field[$i]['_literal']; + } + else + { + $field[$i]['_literal'] = "\n\t".$this->_process_column($field[$i]); + + if ( ! empty($field[$i]['comment'])) + { + $sqls[] = 'COMMENT ON COLUMN ' + .$this->db->escape_identifiers($table).'.'.$this->db->escape_identifiers($field[$i]['name']) + .' IS '.$field[$i]['comment']; + } + + if ($alter_type === 'MODIFY' && ! empty($field[$i]['new_name'])) + { + $sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TO '.$this->db->escape_identifiers($field[$i]['new_name']); + } + + $field[$i] = "\n\t".$field[$i]['_literal']; + } + } + + $sql .= ' '.$alter_type.' '; + $sql .= (count($field) === 1) + ? $field[0] + : '('.implode(',', $field).')'; + + // RENAME COLUMN must be executed after MODIFY + array_unshift($sqls, $sql); + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + // Not supported - sequences and triggers must be used instead + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'NUMBER'; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'NUMBER'; + return; + case 'INT': + $attributes['TYPE'] = 'NUMBER'; + return; + case 'BIGINT': + $attributes['TYPE'] = 'NUMBER'; + return; + default: return; + } + } +} diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php new file mode 100644 index 0000000..1c4196f --- /dev/null +++ b/system/database/drivers/oci8/oci8_result.php @@ -0,0 +1,229 @@ +stmt_id = $driver_object->stmt_id; + $this->curs_id = $driver_object->curs_id; + $this->limit_used = $driver_object->limit_used; + $this->commit_mode =& $driver_object->commit_mode; + $driver_object->stmt_id = FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + $count = oci_num_fields($this->stmt_id); + + // if we used a limit we subtract it + return ($this->limit_used) ? $count - 1 : $count; + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + for ($c = 1, $fieldCount = $this->num_fields(); $c <= $fieldCount; $c++) + { + $field_names[] = oci_field_name($this->stmt_id, $c); + } + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + for ($c = 1, $fieldCount = $this->num_fields(); $c <= $fieldCount; $c++) + { + $F = new stdClass(); + $F->name = oci_field_name($this->stmt_id, $c); + $F->type = oci_field_type($this->stmt_id, $c); + $F->max_length = oci_field_size($this->stmt_id, $c); + + $retval[] = $F; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_resource($this->result_id)) + { + oci_free_statement($this->result_id); + $this->result_id = FALSE; + } + + if (is_resource($this->stmt_id)) + { + oci_free_statement($this->stmt_id); + } + + if (is_resource($this->curs_id)) + { + oci_cancel($this->curs_id); + $this->curs_id = NULL; + } + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + $id = ($this->curs_id) ? $this->curs_id : $this->stmt_id; + return oci_fetch_assoc($id); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + $row = ($this->curs_id) + ? oci_fetch_object($this->curs_id) + : oci_fetch_object($this->stmt_id); + + if ($class_name === 'stdClass' OR ! $row) + { + return $row; + } + + $class_name = new $class_name(); + foreach ($row as $key => $value) + { + $class_name->$key = $value; + } + + return $class_name; + } + +} diff --git a/system/database/drivers/oci8/oci8_utility.php b/system/database/drivers/oci8/oci8_utility.php new file mode 100644 index 0000000..574ff68 --- /dev/null +++ b/system/database/drivers/oci8/oci8_utility.php @@ -0,0 +1,68 @@ +db->display_error('db_unsupported_feature'); + } + +} diff --git a/system/database/drivers/odbc/index.html b/system/database/drivers/odbc/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/odbc/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php new file mode 100644 index 0000000..c853903 --- /dev/null +++ b/system/database/drivers/odbc/odbc_driver.php @@ -0,0 +1,425 @@ +dsn)) + { + $this->dsn = $this->hostname; + } + } + + // -------------------------------------------------------------------- + + /** + * Non-persistent database connection + * + * @param bool $persistent + * @return resource + */ + public function db_connect($persistent = FALSE) + { + return ($persistent === TRUE) + ? odbc_pconnect($this->dsn, $this->username, $this->password) + : odbc_connect($this->dsn, $this->username, $this->password); + } + + // -------------------------------------------------------------------- + + /** + * Compile Bindings + * + * @param string $sql SQL statement + * @param array $binds An array of values to bind + * @return string + */ + public function compile_binds($sql, $binds) + { + if (empty($binds) OR empty($this->bind_marker) OR strpos($sql, $this->bind_marker) === FALSE) + { + return $sql; + } + elseif ( ! is_array($binds)) + { + $binds = array($binds); + $bind_count = 1; + } + else + { + // Make sure we're using numeric keys + $binds = array_values($binds); + $bind_count = count($binds); + } + + // We'll need the marker length later + $ml = strlen($this->bind_marker); + + // Make sure not to replace a chunk inside a string that happens to match the bind marker + if ($c = preg_match_all("/'[^']*'|\"[^\"]*\"/i", $sql, $matches)) + { + $c = preg_match_all('/'.preg_quote($this->bind_marker, '/').'/i', + str_replace($matches[0], + str_replace($this->bind_marker, str_repeat(' ', $ml), $matches[0]), + $sql, $c), + $matches, PREG_OFFSET_CAPTURE); + + // Bind values' count must match the count of markers in the query + if ($bind_count !== $c) + { + return $sql; + } + } + elseif (($c = preg_match_all('/'.preg_quote($this->bind_marker, '/').'/i', $sql, $matches, PREG_OFFSET_CAPTURE)) !== $bind_count) + { + return $sql; + } + + if ($this->bind_marker !== '?') + { + do + { + $c--; + $sql = substr_replace($sql, '?', $matches[0][$c][1], $ml); + } + while ($c !== 0); + } + + if (FALSE !== ($this->odbc_result = odbc_prepare($this->conn_id, $sql))) + { + $this->binds = array_values($binds); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return resource + */ + protected function _execute($sql) + { + if ( ! isset($this->odbc_result)) + { + return odbc_exec($this->conn_id, $sql); + } + elseif ($this->odbc_result === FALSE) + { + return FALSE; + } + + if (TRUE === ($success = odbc_execute($this->odbc_result, $this->binds))) + { + // For queries that return result sets, return the result_id resource on success + $this->is_write_type($sql) OR $success = $this->odbc_result; + } + + $this->odbc_result = NULL; + $this->binds = array(); + + return $success; + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + return odbc_autocommit($this->conn_id, FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + if (odbc_commit($this->conn_id)) + { + odbc_autocommit($this->conn_id, TRUE); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + if (odbc_rollback($this->conn_id)) + { + odbc_autocommit($this->conn_id, TRUE); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Determines if a query is a "write" type. + * + * @param string An SQL query string + * @return bool + */ + public function is_write_type($sql) + { + if (preg_match('#^(INSERT|UPDATE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) + { + return FALSE; + } + + return parent::is_write_type($sql); + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + $this->display_error('db_unsupported_feature'); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return odbc_num_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return bool + */ + public function insert_id() + { + return ($this->db_debug) ? $this->display_error('db_unsupported_feature') : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = '".$this->schema."'"; + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql." AND table_name LIKE '".$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SHOW COLUMNS FROM '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Field data query + * + * Generates a platform-specific query so that the column data can be retrieved + * + * @param string $table + * @return string + */ + protected function _field_data($table) + { + return 'SELECT TOP 1 FROM '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + return array('code' => odbc_error($this->conn_id), 'message' => odbc_errormsg($this->conn_id)); + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + odbc_close($this->conn_id); + } +} diff --git a/system/database/drivers/odbc/odbc_forge.php b/system/database/drivers/odbc/odbc_forge.php new file mode 100644 index 0000000..761e81f --- /dev/null +++ b/system/database/drivers/odbc/odbc_forge.php @@ -0,0 +1,86 @@ +num_rows)) + { + return $this->num_rows; + } + elseif (($this->num_rows = odbc_num_rows($this->result_id)) !== -1) + { + return $this->num_rows; + } + + // Work-around for ODBC subdrivers that don't support num_rows() + if (count($this->result_array) > 0) + { + return $this->num_rows = count($this->result_array); + } + elseif (count($this->result_object) > 0) + { + return $this->num_rows = count($this->result_object); + } + + return $this->num_rows = count($this->result_array()); + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return odbc_num_fields($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + $num_fields = $this->num_fields(); + + if ($num_fields > 0) + { + for ($i = 1; $i <= $num_fields; $i++) + { + $field_names[] = odbc_field_name($this->result_id, $i); + } + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + for ($i = 0, $odbc_index = 1, $c = $this->num_fields(); $i < $c; $i++, $odbc_index++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = odbc_field_name($this->result_id, $odbc_index); + $retval[$i]->type = odbc_field_type($this->result_id, $odbc_index); + $retval[$i]->max_length = odbc_field_len($this->result_id, $odbc_index); + $retval[$i]->primary_key = 0; + $retval[$i]->default = ''; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_resource($this->result_id)) + { + odbc_free_result($this->result_id); + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return odbc_fetch_array($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + $row = odbc_fetch_object($this->result_id); + + if ($class_name === 'stdClass' OR ! $row) + { + return $row; + } + + $class_name = new $class_name(); + foreach ($row as $key => $value) + { + $class_name->$key = $value; + } + + return $class_name; + } + +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('odbc_fetch_array')) +{ + /** + * ODBC Fetch array + * + * Emulates the native odbc_fetch_array() function when + * it is not available (odbc_fetch_array() requires unixODBC) + * + * @param resource &$result + * @param int $rownumber + * @return array + */ + function odbc_fetch_array(&$result, $rownumber = 1) + { + $rs = array(); + if ( ! odbc_fetch_into($result, $rs, $rownumber)) + { + return FALSE; + } + + $rs_assoc = array(); + foreach ($rs as $k => $v) + { + $field_name = odbc_field_name($result, $k+1); + $rs_assoc[$field_name] = $v; + } + + return $rs_assoc; + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('odbc_fetch_object')) +{ + /** + * ODBC Fetch object + * + * Emulates the native odbc_fetch_object() function when + * it is not available. + * + * @param resource &$result + * @param int $rownumber + * @return object + */ + function odbc_fetch_object(&$result, $rownumber = 1) + { + $rs = array(); + if ( ! odbc_fetch_into($result, $rs, $rownumber)) + { + return FALSE; + } + + $rs_object = new stdClass(); + foreach ($rs as $k => $v) + { + $field_name = odbc_field_name($result, $k+1); + $rs_object->$field_name = $v; + } + + return $rs_object; + } +} diff --git a/system/database/drivers/odbc/odbc_utility.php b/system/database/drivers/odbc/odbc_utility.php new file mode 100644 index 0000000..2a33428 --- /dev/null +++ b/system/database/drivers/odbc/odbc_utility.php @@ -0,0 +1,63 @@ +db->display_error('db_unsupported_feature'); + } + +} diff --git a/system/database/drivers/pdo/index.html b/system/database/drivers/pdo/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/pdo/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php new file mode 100644 index 0000000..c99bb06 --- /dev/null +++ b/system/database/drivers/pdo/pdo_driver.php @@ -0,0 +1,329 @@ +dsn, $match) && count($match) === 2) + { + // If there is a minimum valid dsn string pattern found, we're done + // This is for general PDO users, who tend to have a full DSN string. + $this->subdriver = $match[1]; + return; + } + // Legacy support for DSN specified in the hostname field + elseif (preg_match('/([^:]+):/', $this->hostname, $match) && count($match) === 2) + { + $this->dsn = $this->hostname; + $this->hostname = NULL; + $this->subdriver = $match[1]; + return; + } + elseif (in_array($this->subdriver, array('mssql', 'sybase'), TRUE)) + { + $this->subdriver = 'dblib'; + } + elseif ($this->subdriver === '4D') + { + $this->subdriver = '4d'; + } + elseif ( ! in_array($this->subdriver, array('4d', 'cubrid', 'dblib', 'firebird', 'ibm', 'informix', 'mysql', 'oci', 'odbc', 'pgsql', 'sqlite', 'sqlsrv'), TRUE)) + { + log_message('error', 'PDO: Invalid or non-existent subdriver'); + + if ($this->db_debug) + { + show_error('Invalid or non-existent PDO subdriver'); + } + } + + $this->dsn = NULL; + } + + // -------------------------------------------------------------------- + + /** + * Database connection + * + * @param bool $persistent + * @return object + */ + public function db_connect($persistent = FALSE) + { + if ($persistent === TRUE) + { + $this->options[PDO::ATTR_PERSISTENT] = TRUE; + } + + try + { + return new PDO($this->dsn, $this->username, $this->password, $this->options); + } + catch (PDOException $e) + { + if ($this->db_debug && empty($this->failover)) + { + $this->display_error($e->getMessage(), '', TRUE); + } + + return FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + // Not all subdrivers support the getAttribute() method + try + { + return $this->data_cache['version'] = $this->conn_id->getAttribute(PDO::ATTR_SERVER_VERSION); + } + catch (PDOException $e) + { + return parent::version(); + } + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql SQL query + * @return mixed + */ + protected function _execute($sql) + { + return $this->conn_id->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + return $this->conn_id->beginTransaction(); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + return $this->conn_id->commit(); + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + return $this->conn_id->rollBack(); + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + // Escape the string + $str = $this->conn_id->quote($str); + + // If there are duplicated quotes, trim them away + return ($str[0] === "'") + ? substr($str, 1, -1) + : $str; + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return is_object($this->result_id) ? $this->result_id->rowCount() : 0; + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @param string $name + * @return int + */ + public function insert_id($name = NULL) + { + return $this->conn_id->lastInsertId($name); + } + + // -------------------------------------------------------------------- + + /** + * Field data query + * + * Generates a platform-specific query so that the column data can be retrieved + * + * @param string $table + * @return string + */ + protected function _field_data($table) + { + return 'SELECT TOP 1 * FROM '.$this->protect_identifiers($table); + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + $error = array('code' => '00000', 'message' => ''); + $pdo_error = $this->conn_id->errorInfo(); + + if (empty($pdo_error[0])) + { + return $error; + } + + $error['code'] = isset($pdo_error[1]) ? $pdo_error[0].'/'.$pdo_error[1] : $pdo_error[0]; + if (isset($pdo_error[2])) + { + $error['message'] = $pdo_error[2]; + } + + return $error; + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE TABLE '.$table; + } + +} diff --git a/system/database/drivers/pdo/pdo_forge.php b/system/database/drivers/pdo/pdo_forge.php new file mode 100644 index 0000000..c77a849 --- /dev/null +++ b/system/database/drivers/pdo/pdo_forge.php @@ -0,0 +1,65 @@ +num_rows)) + { + return $this->num_rows; + } + elseif (count($this->result_array) > 0) + { + return $this->num_rows = count($this->result_array); + } + elseif (count($this->result_object) > 0) + { + return $this->num_rows = count($this->result_object); + } + elseif (($num_rows = $this->result_id->rowCount()) > 0) + { + return $this->num_rows = $num_rows; + } + + return $this->num_rows = count($this->result_array()); + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return $this->result_id->columnCount(); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return bool + */ + public function list_fields() + { + $field_names = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + // Might trigger an E_WARNING due to not all subdrivers + // supporting getColumnMeta() + $field_names[$i] = @$this->result_id->getColumnMeta($i); + $field_names[$i] = $field_names[$i]['name']; + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + try + { + $retval = array(); + + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $field = $this->result_id->getColumnMeta($i); + + $retval[$i] = new stdClass(); + $retval[$i]->name = $field['name']; + $retval[$i]->type = $field['native_type']; + $retval[$i]->max_length = ($field['len'] > 0) ? $field['len'] : NULL; + $retval[$i]->primary_key = (int) ( ! empty($field['flags']) && in_array('primary_key', $field['flags'], TRUE)); + } + + return $retval; + } + catch (Exception $e) + { + if ($this->db->db_debug) + { + return $this->db->display_error('db_unsupported_feature'); + } + + return FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_object($this->result_id)) + { + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return $this->result_id->fetch(PDO::FETCH_ASSOC); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return $this->result_id->fetchObject($class_name); + } + +} diff --git a/system/database/drivers/pdo/pdo_utility.php b/system/database/drivers/pdo/pdo_utility.php new file mode 100644 index 0000000..9091ea5 --- /dev/null +++ b/system/database/drivers/pdo/pdo_utility.php @@ -0,0 +1,63 @@ +db->display_error('db_unsupported_feature'); + } + +} diff --git a/system/database/drivers/pdo/subdrivers/index.html b/system/database/drivers/pdo/subdrivers/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/pdo/subdrivers/pdo_4d_driver.php b/system/database/drivers/pdo/subdrivers/pdo_4d_driver.php new file mode 100644 index 0000000..bbb675d --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_4d_driver.php @@ -0,0 +1,200 @@ +dsn)) + { + $this->dsn = '4D:host='.(empty($this->hostname) ? '127.0.0.1' : $this->hostname); + + empty($this->port) OR $this->dsn .= ';port='.$this->port; + empty($this->database) OR $this->dsn .= ';dbname='.$this->database; + empty($this->char_set) OR $this->dsn .= ';charset='.$this->char_set; + } + elseif ( ! empty($this->char_set) && strpos($this->dsn, 'charset=', 3) === FALSE) + { + $this->dsn .= ';charset='.$this->char_set; + } + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT '.$this->escape_identifiers('TABLE_NAME').' FROM '.$this->escape_identifiers('_USER_TABLES'); + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + $sql .= ' WHERE '.$this->escape_identifiers('TABLE_NAME')." LIKE '".$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT '.$this->escape_identifiers('COLUMN_NAME').' FROM '.$this->escape_identifiers('_USER_COLUMNS') + .' WHERE '.$this->escape_identifiers('TABLE_NAME').' = '.$this->escape($table); + } + + // -------------------------------------------------------------------- + + /** + * Field data query + * + * Generates a platform-specific query so that the column data can be retrieved + * + * @param string $table + * @return string + */ + protected function _field_data($table) + { + return 'SELECT * FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE).' LIMIT 1'; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + $this->qb_limit = FALSE; + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + return $sql.' LIMIT '.$this->qb_limit.($this->qb_offset ? ' OFFSET '.$this->qb_offset : ''); + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_4d_forge.php b/system/database/drivers/pdo/subdrivers/pdo_4d_forge.php new file mode 100644 index 0000000..7135aa1 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_4d_forge.php @@ -0,0 +1,217 @@ + 'INT', + 'SMALLINT' => 'INT', + 'INT' => 'INT64', + 'INT32' => 'INT64' + ); + + /** + * DEFAULT value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_default = FALSE; + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('ADD', 'DROP'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + // No method of modifying columns is supported + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + return $this->db->escape_identifiers($field['name']) + .' '.$field['type'].$field['length'] + .$field['null'] + .$field['unique'] + .$field['auto_increment']; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'INTEGER': + $attributes['TYPE'] = 'INT'; + return; + case 'BIGINT': + $attributes['TYPE'] = 'INT64'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute UNIQUE + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_unique(&$attributes, &$field) + { + if ( ! empty($attributes['UNIQUE']) && $attributes['UNIQUE'] === TRUE) + { + $field['unique'] = ' UNIQUE'; + + // UNIQUE must be used with NOT NULL + $field['null'] = ' NOT NULL'; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE) + { + if (stripos($field['type'], 'int') !== FALSE) + { + $field['auto_increment'] = ' AUTO_INCREMENT'; + } + elseif (strcasecmp($field['type'], 'UUID') === 0) + { + $field['auto_increment'] = ' AUTO_GENERATE'; + } + } + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_cubrid_driver.php b/system/database/drivers/pdo/subdrivers/pdo_cubrid_driver.php new file mode 100644 index 0000000..3189aab --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_cubrid_driver.php @@ -0,0 +1,209 @@ +dsn)) + { + $this->dsn = 'cubrid:host='.(empty($this->hostname) ? '127.0.0.1' : $this->hostname); + + empty($this->port) OR $this->dsn .= ';port='.$this->port; + empty($this->database) OR $this->dsn .= ';dbname='.$this->database; + empty($this->char_set) OR $this->dsn .= ';charset='.$this->char_set; + } + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SHOW TABLES'; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + return $sql." LIKE '".$this->escape_like_str($this->dbprefix)."%'"; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE))) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->Field; + + sscanf($query[$i]->Type, '%[a-z](%d)', + $retval[$i]->type, + $retval[$i]->max_length + ); + + $retval[$i]->default = $query[$i]->Default; + $retval[$i]->primary_key = (int) ($query[$i]->Key === 'PRI'); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE '.$table; + } + + // -------------------------------------------------------------------- + + /** + * FROM tables + * + * Groups tables in FROM clauses if needed, so there is no confusion + * about operator precedence. + * + * @return string + */ + protected function _from_tables() + { + if ( ! empty($this->qb_join) && count($this->qb_from) > 1) + { + return '('.implode(', ', $this->qb_from).')'; + } + + return implode(', ', $this->qb_from); + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php b/system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php new file mode 100644 index 0000000..624ce51 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php @@ -0,0 +1,230 @@ + 'INTEGER', + 'SMALLINT' => 'INTEGER', + 'INT' => 'BIGINT', + 'INTEGER' => 'BIGINT', + 'BIGINT' => 'NUMERIC', + 'FLOAT' => 'DOUBLE', + 'REAL' => 'DOUBLE' + ); + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('DROP', 'ADD'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + $sqls[] = $sql.' CHANGE '.$field[$i]['_literal']; + } + else + { + $alter_type = empty($field[$i]['new_name']) ? ' MODIFY ' : ' CHANGE '; + $sqls[] = $sql.$alter_type.$this->_process_column($field[$i]); + } + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + $extra_clause = isset($field['after']) + ? ' AFTER '.$this->db->escape_identifiers($field['after']) : ''; + + if (empty($extra_clause) && isset($field['first']) && $field['first'] === TRUE) + { + $extra_clause = ' FIRST'; + } + + return $this->db->escape_identifiers($field['name']) + .(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name'])) + .' '.$field['type'].$field['length'] + .$field['unsigned'] + .$field['null'] + .$field['default'] + .$field['auto_increment'] + .$field['unique'] + .$extra_clause; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'LONGTEXT': + $attributes['TYPE'] = 'STRING'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Process indexes + * + * @param string $table (ignored) + * @return string + */ + protected function _process_indexes($table) + { + $sql = ''; + + for ($i = 0, $c = count($this->keys); $i < $c; $i++) + { + if (is_array($this->keys[$i])) + { + for ($i2 = 0, $c2 = count($this->keys[$i]); $i2 < $c2; $i2++) + { + if ( ! isset($this->fields[$this->keys[$i][$i2]])) + { + unset($this->keys[$i][$i2]); + continue; + } + } + } + elseif ( ! isset($this->fields[$this->keys[$i]])) + { + unset($this->keys[$i]); + continue; + } + + is_array($this->keys[$i]) OR $this->keys[$i] = array($this->keys[$i]); + + $sql .= ",\n\tKEY ".$this->db->escape_identifiers(implode('_', $this->keys[$i])) + .' ('.implode(', ', $this->db->escape_identifiers($this->keys[$i])).')'; + } + + $this->keys = array(); + + return $sql; + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_dblib_driver.php b/system/database/drivers/pdo/subdrivers/pdo_dblib_driver.php new file mode 100644 index 0000000..d04f8b3 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_dblib_driver.php @@ -0,0 +1,353 @@ +dsn)) + { + $this->dsn = $params['subdriver'].':host='.(empty($this->hostname) ? '127.0.0.1' : $this->hostname); + + if ( ! empty($this->port)) + { + $this->dsn .= (DIRECTORY_SEPARATOR === '\\' ? ',' : ':').$this->port; + } + + empty($this->database) OR $this->dsn .= ';dbname='.$this->database; + empty($this->char_set) OR $this->dsn .= ';charset='.$this->char_set; + empty($this->appname) OR $this->dsn .= ';appname='.$this->appname; + } + else + { + if ( ! empty($this->char_set) && strpos($this->dsn, 'charset=', 6) === FALSE) + { + $this->dsn .= ';charset='.$this->char_set; + } + + $this->subdriver = 'dblib'; + } + } + + // -------------------------------------------------------------------- + + /** + * Database connection + * + * @param bool $persistent + * @return object + */ + public function db_connect($persistent = FALSE) + { + if ($persistent === TRUE) + { + log_message('debug', "dblib driver doesn't support persistent connections"); + } + + $this->conn_id = parent::db_connect(FALSE); + + if ( ! is_object($this->conn_id)) + { + return $this->conn_id; + } + + // Determine how identifiers are escaped + $query = $this->query('SELECT CASE WHEN (@@OPTIONS | 256) = @@OPTIONS THEN 1 ELSE 0 END AS qi'); + $query = $query->row_array(); + $this->_quoted_identifier = empty($query) ? FALSE : (bool) $query['qi']; + $this->_escape_char = ($this->_quoted_identifier) ? '"' : array('[', ']'); + + return $this->conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT '.$this->escape_identifiers('name') + .' FROM '.$this->escape_identifiers('sysobjects') + .' WHERE '.$this->escape_identifiers('type')." = 'U'"; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + $sql .= ' AND '.$this->escape_identifiers('name')." LIKE '".$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql.' ORDER BY '.$this->escape_identifiers('name'); + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT COLUMN_NAME + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, COLUMN_DEFAULT + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->COLUMN_NAME; + $retval[$i]->type = $query[$i]->DATA_TYPE; + $retval[$i]->max_length = ($query[$i]->CHARACTER_MAXIMUM_LENGTH > 0) ? $query[$i]->CHARACTER_MAXIMUM_LENGTH : $query[$i]->NUMERIC_PRECISION; + $retval[$i]->default = $query[$i]->COLUMN_DEFAULT; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + if ($this->qb_limit) + { + return 'WITH ci_delete AS (SELECT TOP '.$this->qb_limit.' * FROM '.$table.$this->_compile_wh('qb_where').') DELETE FROM ci_delete'; + } + + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + $limit = $this->qb_offset + $this->qb_limit; + + // As of SQL Server 2005 (9.0.*) ROW_NUMBER() is supported, + // however an ORDER BY clause is required for it to work + if (version_compare($this->version(), '9', '>=') && $this->qb_offset && ! empty($this->qb_orderby)) + { + $orderby = $this->_compile_order_by(); + + // We have to strip the ORDER BY clause + $sql = trim(substr($sql, 0, strrpos($sql, $orderby))); + + // Get the fields to select from our subquery, so that we can avoid CI_rownum appearing in the actual results + if (count($this->qb_select) === 0 OR strpos(implode(',', $this->qb_select), '*') !== FALSE) + { + $select = '*'; // Inevitable + } + else + { + // Use only field names and their aliases, everything else is out of our scope. + $select = array(); + $field_regexp = ($this->_quoted_identifier) + ? '("[^\"]+")' : '(\[[^\]]+\])'; + for ($i = 0, $c = count($this->qb_select); $i < $c; $i++) + { + $select[] = preg_match('/(?:\s|\.)'.$field_regexp.'$/i', $this->qb_select[$i], $m) + ? $m[1] : $this->qb_select[$i]; + } + $select = implode(', ', $select); + } + + return 'SELECT '.$select." FROM (\n\n" + .preg_replace('/^(SELECT( DISTINCT)?)/i', '\\1 ROW_NUMBER() OVER('.trim($orderby).') AS '.$this->escape_identifiers('CI_rownum').', ', $sql) + ."\n\n) ".$this->escape_identifiers('CI_subquery') + ."\nWHERE ".$this->escape_identifiers('CI_rownum').' BETWEEN '.($this->qb_offset + 1).' AND '.$limit; + } + + return preg_replace('/(^\SELECT (DISTINCT)?)/i','\\1 TOP '.$limit.' ', $sql); + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data. + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string|bool + */ + protected function _insert_batch($table, $keys, $values) + { + // Multiple-value inserts are only supported as of SQL Server 2008 + if (version_compare($this->version(), '10', '>=')) + { + return parent::_insert_batch($table, $keys, $values); + } + + return ($this->db_debug) ? $this->display_error('db_unsupported_feature') : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + return $this->data_cache['version'] = $this->conn_id->query("SELECT SERVERPROPERTY('ProductVersion') AS ver")->fetchColumn(0); + } +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_dblib_forge.php b/system/database/drivers/pdo/subdrivers/pdo_dblib_forge.php new file mode 100644 index 0000000..0216b59 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_dblib_forge.php @@ -0,0 +1,149 @@ + 'SMALLINT', + 'SMALLINT' => 'INT', + 'INT' => 'BIGINT', + 'REAL' => 'FLOAT' + ); + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('ADD', 'DROP'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN '; + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + $sqls[] = $sql.$this->_process_column($field[$i]); + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE) + { + unset($attributes['CONSTRAINT']); + } + + switch (strtoupper($attributes['TYPE'])) + { + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'INTEGER': + $attributes['TYPE'] = 'INT'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['auto_increment'] = ' IDENTITY(1,1)'; + } + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_firebird_driver.php b/system/database/drivers/pdo/subdrivers/pdo_firebird_driver.php new file mode 100644 index 0000000..eec5bf2 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_firebird_driver.php @@ -0,0 +1,279 @@ +dsn)) + { + $this->dsn = 'firebird:'; + + if ( ! empty($this->database)) + { + $this->dsn .= 'dbname='.$this->database; + } + elseif ( ! empty($this->hostname)) + { + $this->dsn .= 'dbname='.$this->hostname; + } + + empty($this->char_set) OR $this->dsn .= ';charset='.$this->char_set; + empty($this->role) OR $this->dsn .= ';role='.$this->role; + } + elseif ( ! empty($this->char_set) && strpos($this->dsn, 'charset=', 9) === FALSE) + { + $this->dsn .= ';charset='.$this->char_set; + } + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "RDB$RELATION_NAME" FROM "RDB$RELATIONS" WHERE "RDB$RELATION_NAME" NOT LIKE \'RDB$%\' AND "RDB$RELATION_NAME" NOT LIKE \'MON$%\''; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + return $sql.' AND "RDB$RELATION_NAME" LIKE \''.$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT "RDB$FIELD_NAME" FROM "RDB$RELATION_FIELDS" WHERE "RDB$RELATION_NAME" = '.$this->escape($table); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT "rfields"."RDB$FIELD_NAME" AS "name", + CASE "fields"."RDB$FIELD_TYPE" + WHEN 7 THEN \'SMALLINT\' + WHEN 8 THEN \'INTEGER\' + WHEN 9 THEN \'QUAD\' + WHEN 10 THEN \'FLOAT\' + WHEN 11 THEN \'DFLOAT\' + WHEN 12 THEN \'DATE\' + WHEN 13 THEN \'TIME\' + WHEN 14 THEN \'CHAR\' + WHEN 16 THEN \'INT64\' + WHEN 27 THEN \'DOUBLE\' + WHEN 35 THEN \'TIMESTAMP\' + WHEN 37 THEN \'VARCHAR\' + WHEN 40 THEN \'CSTRING\' + WHEN 261 THEN \'BLOB\' + ELSE NULL + END AS "type", + "fields"."RDB$FIELD_LENGTH" AS "max_length", + "rfields"."RDB$DEFAULT_VALUE" AS "default" + FROM "RDB$RELATION_FIELDS" "rfields" + JOIN "RDB$FIELDS" "fields" ON "rfields"."RDB$FIELD_SOURCE" = "fields"."RDB$FIELD_NAME" + WHERE "rfields"."RDB$RELATION_NAME" = '.$this->escape($table).' + ORDER BY "rfields"."RDB$FIELD_POSITION"'; + + return (($query = $this->query($sql)) !== FALSE) + ? $query->result_object() + : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'DELETE FROM '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + $this->qb_limit = FALSE; + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + // Limit clause depends on if Interbase or Firebird + if (stripos($this->version(), 'firebird') !== FALSE) + { + $select = 'FIRST '.$this->qb_limit + .($this->qb_offset > 0 ? ' SKIP '.$this->qb_offset : ''); + } + else + { + $select = 'ROWS ' + .($this->qb_offset > 0 ? $this->qb_offset.' TO '.($this->qb_limit + $this->qb_offset) : $this->qb_limit); + } + + return preg_replace('`SELECT`i', 'SELECT '.$select, $sql); + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data. + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string|bool + */ + protected function _insert_batch($table, $keys, $values) + { + return ($this->db_debug) ? $this->display_error('db_unsupported_feature') : FALSE; + } +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php b/system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php new file mode 100644 index 0000000..2a5fa64 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php @@ -0,0 +1,237 @@ + 'INTEGER', + 'INTEGER' => 'INT64', + 'FLOAT' => 'DOUBLE PRECISION' + ); + + /** + * NULL value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_null = 'NULL'; + + // -------------------------------------------------------------------- + + /** + * Create database + * + * @param string $db_name + * @return string + */ + public function create_database($db_name) + { + // Firebird databases are flat files, so a path is required + + // Hostname is needed for remote access + empty($this->db->hostname) OR $db_name = $this->hostname.':'.$db_name; + + return parent::create_database('"'.$db_name.'"'); + } + + // -------------------------------------------------------------------- + + /** + * Drop database + * + * @param string $db_name (ignored) + * @return bool + */ + public function drop_database($db_name) + { + if ( ! ibase_drop_db($this->conn_id)) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + elseif ( ! empty($this->db->data_cache['db_names'])) + { + $key = array_search(strtolower($this->db->database), array_map('strtolower', $this->db->data_cache['db_names']), TRUE); + if ($key !== FALSE) + { + unset($this->db->data_cache['db_names'][$key]); + } + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('DROP', 'ADD'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + return FALSE; + } + + if (isset($field[$i]['type'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TYPE '.$field[$i]['type'].$field[$i]['length']; + } + + if ( ! empty($field[$i]['default'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' SET DEFAULT '.$field[$i]['default']; + } + + if (isset($field[$i]['null'])) + { + $sqls[] = 'UPDATE "RDB$RELATION_FIELDS" SET "RDB$NULL_FLAG" = ' + .($field[$i]['null'] === TRUE ? 'NULL' : '1') + .' WHERE "RDB$FIELD_NAME" = '.$this->db->escape($field[$i]['name']) + .' AND "RDB$RELATION_NAME" = '.$this->db->escape($table); + } + + if ( ! empty($field[$i]['new_name'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TO '.$this->db->escape_identifiers($field[$i]['new_name']); + } + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + return $this->db->escape_identifiers($field['name']) + .' '.$field['type'].$field['length'] + .$field['null'] + .$field['unique'] + .$field['default']; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'INT': + $attributes['TYPE'] = 'INTEGER'; + return; + case 'BIGINT': + $attributes['TYPE'] = 'INT64'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + // Not supported + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_ibm_driver.php b/system/database/drivers/pdo/subdrivers/pdo_ibm_driver.php new file mode 100644 index 0000000..43400a4 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_ibm_driver.php @@ -0,0 +1,244 @@ +dsn)) + { + $this->dsn = 'ibm:'; + + // Pre-defined DSN + if (empty($this->hostname) && empty($this->HOSTNAME) && empty($this->port) && empty($this->PORT)) + { + if (isset($this->DSN)) + { + $this->dsn .= 'DSN='.$this->DSN; + } + elseif ( ! empty($this->database)) + { + $this->dsn .= 'DSN='.$this->database; + } + + return; + } + + $this->dsn .= 'DRIVER='.(isset($this->DRIVER) ? '{'.$this->DRIVER.'}' : '{IBM DB2 ODBC DRIVER}').';'; + + if (isset($this->DATABASE)) + { + $this->dsn .= 'DATABASE='.$this->DATABASE.';'; + } + elseif ( ! empty($this->database)) + { + $this->dsn .= 'DATABASE='.$this->database.';'; + } + + if (isset($this->HOSTNAME)) + { + $this->dsn .= 'HOSTNAME='.$this->HOSTNAME.';'; + } + else + { + $this->dsn .= 'HOSTNAME='.(empty($this->hostname) ? '127.0.0.1;' : $this->hostname.';'); + } + + if (isset($this->PORT)) + { + $this->dsn .= 'PORT='.$this->port.';'; + } + elseif ( ! empty($this->port)) + { + $this->dsn .= ';PORT='.$this->port.';'; + } + + $this->dsn .= 'PROTOCOL='.(isset($this->PROTOCOL) ? $this->PROTOCOL.';' : 'TCPIP;'); + } + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "tabname" FROM "syscat"."tables" + WHERE "type" = \'T\' AND LOWER("tabschema") = '.$this->escape(strtolower($this->database)); + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + $sql .= ' AND "tabname" LIKE \''.$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return array + */ + protected function _list_columns($table = '') + { + return 'SELECT "colname" FROM "syscat"."columns" + WHERE LOWER("tabschema") = '.$this->escape(strtolower($this->database)).' + AND LOWER("tabname") = '.$this->escape(strtolower($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT "colname" AS "name", "typename" AS "type", "default" AS "default", "length" AS "max_length", + CASE "keyseq" WHEN NULL THEN 0 ELSE 1 END AS "primary_key" + FROM "syscat"."columns" + WHERE LOWER("tabschema") = '.$this->escape(strtolower($this->database)).' + AND LOWER("tabname") = '.$this->escape(strtolower($table)).' + ORDER BY "colno"'; + + return (($query = $this->query($sql)) !== FALSE) + ? $query->result_object() + : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + $this->qb_limit = FALSE; + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + $sql .= ' FETCH FIRST '.($this->qb_limit + $this->qb_offset).' ROWS ONLY'; + + return ($this->qb_offset) + ? 'SELECT * FROM ('.$sql.') WHERE rownum > '.$this->qb_offset + : $sql; + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_ibm_forge.php b/system/database/drivers/pdo/subdrivers/pdo_ibm_forge.php new file mode 100644 index 0000000..f1bd2c3 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_ibm_forge.php @@ -0,0 +1,154 @@ + 'INTEGER', + 'INT' => 'BIGINT', + 'INTEGER' => 'BIGINT' + ); + + /** + * DEFAULT value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_default = FALSE; + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'CHANGE') + { + $alter_type = 'MODIFY'; + } + + return parent::_alter_table($alter_type, $table, $field); + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute UNIQUE + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_unique(&$attributes, &$field) + { + if ( ! empty($attributes['UNIQUE']) && $attributes['UNIQUE'] === TRUE) + { + $field['unique'] = ' UNIQUE'; + + // UNIQUE must be used with NOT NULL + $field['null'] = ' NOT NULL'; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + // Not supported + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_informix_driver.php b/system/database/drivers/pdo/subdrivers/pdo_informix_driver.php new file mode 100644 index 0000000..e44dcb8 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_informix_driver.php @@ -0,0 +1,309 @@ +dsn)) + { + $this->dsn = 'informix:'; + + // Pre-defined DSN + if (empty($this->hostname) && empty($this->host) && empty($this->port) && empty($this->service)) + { + if (isset($this->DSN)) + { + $this->dsn .= 'DSN='.$this->DSN; + } + elseif ( ! empty($this->database)) + { + $this->dsn .= 'DSN='.$this->database; + } + + return; + } + + if (isset($this->host)) + { + $this->dsn .= 'host='.$this->host; + } + else + { + $this->dsn .= 'host='.(empty($this->hostname) ? '127.0.0.1' : $this->hostname); + } + + if (isset($this->service)) + { + $this->dsn .= '; service='.$this->service; + } + elseif ( ! empty($this->port)) + { + $this->dsn .= '; service='.$this->port; + } + + empty($this->database) OR $this->dsn .= '; database='.$this->database; + empty($this->server) OR $this->dsn .= '; server='.$this->server; + + $this->dsn .= '; protocol='.(isset($this->protocol) ? $this->protocol : 'onsoctcp') + .'; EnableScrollableCursors=1'; + } + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "tabname" FROM "systables" + WHERE "tabid" > 99 AND "tabtype" = \'T\' AND LOWER("owner") = '.$this->escape(strtolower($this->username)); + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + $sql .= ' AND "tabname" LIKE \''.$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + if (strpos($table, '.') !== FALSE) + { + sscanf($table, '%[^.].%s', $owner, $table); + } + else + { + $owner = $this->username; + } + + return 'SELECT "colname" FROM "systables", "syscolumns" + WHERE "systables"."tabid" = "syscolumns"."tabid" + AND "systables"."tabtype" = \'T\' + AND LOWER("systables"."owner") = '.$this->escape(strtolower($owner)).' + AND LOWER("systables"."tabname") = '.$this->escape(strtolower($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT "syscolumns"."colname" AS "name", + CASE "syscolumns"."coltype" + WHEN 0 THEN \'CHAR\' + WHEN 1 THEN \'SMALLINT\' + WHEN 2 THEN \'INTEGER\' + WHEN 3 THEN \'FLOAT\' + WHEN 4 THEN \'SMALLFLOAT\' + WHEN 5 THEN \'DECIMAL\' + WHEN 6 THEN \'SERIAL\' + WHEN 7 THEN \'DATE\' + WHEN 8 THEN \'MONEY\' + WHEN 9 THEN \'NULL\' + WHEN 10 THEN \'DATETIME\' + WHEN 11 THEN \'BYTE\' + WHEN 12 THEN \'TEXT\' + WHEN 13 THEN \'VARCHAR\' + WHEN 14 THEN \'INTERVAL\' + WHEN 15 THEN \'NCHAR\' + WHEN 16 THEN \'NVARCHAR\' + WHEN 17 THEN \'INT8\' + WHEN 18 THEN \'SERIAL8\' + WHEN 19 THEN \'SET\' + WHEN 20 THEN \'MULTISET\' + WHEN 21 THEN \'LIST\' + WHEN 22 THEN \'Unnamed ROW\' + WHEN 40 THEN \'LVARCHAR\' + WHEN 41 THEN \'BLOB/CLOB/BOOLEAN\' + WHEN 4118 THEN \'Named ROW\' + ELSE "syscolumns"."coltype" + END AS "type", + "syscolumns"."collength" as "max_length", + CASE "sysdefaults"."type" + WHEN \'L\' THEN "sysdefaults"."default" + ELSE NULL + END AS "default" + FROM "syscolumns", "systables", "sysdefaults" + WHERE "syscolumns"."tabid" = "systables"."tabid" + AND "systables"."tabid" = "sysdefaults"."tabid" + AND "syscolumns"."colno" = "sysdefaults"."colno" + AND "systables"."tabtype" = \'T\' + AND LOWER("systables"."owner") = '.$this->escape(strtolower($this->username)).' + AND LOWER("systables"."tabname") = '.$this->escape(strtolower($table)).' + ORDER BY "syscolumns"."colno"'; + + return (($query = $this->query($sql)) !== FALSE) + ? $query->result_object() + : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE TABLE ONLY '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + $this->qb_limit = FALSE; + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql $SQL Query + * @return string + */ + protected function _limit($sql) + { + $select = 'SELECT '.($this->qb_offset ? 'SKIP '.$this->qb_offset : '').'FIRST '.$this->qb_limit.' '; + return preg_replace('/^(SELECT\s)/i', $select, $sql, 1); + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_informix_forge.php b/system/database/drivers/pdo/subdrivers/pdo_informix_forge.php new file mode 100644 index 0000000..e4202c2 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_informix_forge.php @@ -0,0 +1,163 @@ + 'INTEGER', + 'INT' => 'BIGINT', + 'INTEGER' => 'BIGINT', + 'REAL' => 'DOUBLE PRECISION', + 'SMALLFLOAT' => 'DOUBLE PRECISION' + ); + + /** + * DEFAULT value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_default = ', '; + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'CHANGE') + { + $alter_type = 'MODIFY'; + } + + return parent::_alter_table($alter_type, $table, $field); + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'BYTE': + case 'TEXT': + case 'BLOB': + case 'CLOB': + $attributes['UNIQUE'] = FALSE; + if (isset($attributes['DEFAULT'])) + { + unset($attributes['DEFAULT']); + } + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute UNIQUE + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_unique(&$attributes, &$field) + { + if ( ! empty($attributes['UNIQUE']) && $attributes['UNIQUE'] === TRUE) + { + $field['unique'] = ' UNIQUE CONSTRAINT '.$this->db->escape_identifiers($field['name']); + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + // Not supported + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php b/system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php new file mode 100644 index 0000000..e172145 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php @@ -0,0 +1,374 @@ +dsn)) + { + $this->dsn = 'mysql:host='.(empty($this->hostname) ? '127.0.0.1' : $this->hostname); + + empty($this->port) OR $this->dsn .= ';port='.$this->port; + empty($this->database) OR $this->dsn .= ';dbname='.$this->database; + empty($this->char_set) OR $this->dsn .= ';charset='.$this->char_set; + } + elseif ( ! empty($this->char_set) && strpos($this->dsn, 'charset=', 6) === FALSE) + { + $this->dsn .= ';charset='.$this->char_set; + } + } + + // -------------------------------------------------------------------- + + /** + * Database connection + * + * @param bool $persistent + * @return object + */ + public function db_connect($persistent = FALSE) + { + if (isset($this->stricton)) + { + if ($this->stricton) + { + $sql = 'CONCAT(@@sql_mode, ",", "STRICT_ALL_TABLES")'; + } + else + { + $sql = 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + @@sql_mode, + "STRICT_ALL_TABLES,", ""), + ",STRICT_ALL_TABLES", ""), + "STRICT_ALL_TABLES", ""), + "STRICT_TRANS_TABLES,", ""), + ",STRICT_TRANS_TABLES", ""), + "STRICT_TRANS_TABLES", "")'; + } + + if ( ! empty($sql)) + { + if (empty($this->options[PDO::MYSQL_ATTR_INIT_COMMAND])) + { + $this->options[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET SESSION sql_mode = '.$sql; + } + else + { + $this->options[PDO::MYSQL_ATTR_INIT_COMMAND] .= ', @@session.sql_mode = '.$sql; + } + } + } + + if ($this->compress === TRUE) + { + $this->options[PDO::MYSQL_ATTR_COMPRESS] = TRUE; + } + + if (is_array($this->encrypt)) + { + $ssl = array(); + empty($this->encrypt['ssl_key']) OR $ssl[PDO::MYSQL_ATTR_SSL_KEY] = $this->encrypt['ssl_key']; + empty($this->encrypt['ssl_cert']) OR $ssl[PDO::MYSQL_ATTR_SSL_CERT] = $this->encrypt['ssl_cert']; + empty($this->encrypt['ssl_ca']) OR $ssl[PDO::MYSQL_ATTR_SSL_CA] = $this->encrypt['ssl_ca']; + empty($this->encrypt['ssl_capath']) OR $ssl[PDO::MYSQL_ATTR_SSL_CAPATH] = $this->encrypt['ssl_capath']; + empty($this->encrypt['ssl_cipher']) OR $ssl[PDO::MYSQL_ATTR_SSL_CIPHER] = $this->encrypt['ssl_cipher']; + + // DO NOT use array_merge() here! + // It re-indexes numeric keys and the PDO_MYSQL_ATTR_SSL_* constants are integers. + empty($ssl) OR $this->options += $ssl; + } + + // Prior to version 5.7.3, MySQL silently downgrades to an unencrypted connection if SSL setup fails + if ( + ($pdo = parent::db_connect($persistent)) !== FALSE + && ! empty($ssl) + && version_compare($pdo->getAttribute(PDO::ATTR_CLIENT_VERSION), '5.7.3', '<=') + && empty($pdo->query("SHOW STATUS LIKE 'ssl_cipher'")->fetchObject()->Value) + ) + { + $message = 'PDO_MYSQL was configured for an SSL connection, but got an unencrypted connection instead!'; + log_message('error', $message); + return ($this->db_debug) ? $this->display_error($message, '', TRUE) : FALSE; + } + + return $pdo; + } + + // -------------------------------------------------------------------- + + /** + * Select the database + * + * @param string $database + * @return bool + */ + public function db_select($database = '') + { + if ($database === '') + { + $database = $this->database; + } + + if (FALSE !== $this->simple_query('USE '.$this->escape_identifiers($database))) + { + $this->database = $database; + $this->data_cache = array(); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + $this->conn_id->setAttribute(PDO::ATTR_AUTOCOMMIT, FALSE); + return $this->conn_id->beginTransaction(); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + if ($this->conn_id->commit()) + { + $this->conn_id->setAttribute(PDO::ATTR_AUTOCOMMIT, TRUE); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + if ($this->conn_id->rollBack()) + { + $this->conn_id->setAttribute(PDO::ATTR_AUTOCOMMIT, TRUE); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SHOW TABLES'; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + return $sql." LIKE '".$this->escape_like_str($this->dbprefix)."%'"; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE))) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->Field; + + sscanf($query[$i]->Type, '%[a-z](%d)', + $retval[$i]->type, + $retval[$i]->max_length + ); + + $retval[$i]->default = $query[$i]->Default; + $retval[$i]->primary_key = (int) ($query[$i]->Key === 'PRI'); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE '.$table; + } + + // -------------------------------------------------------------------- + + /** + * FROM tables + * + * Groups tables in FROM clauses if needed, so there is no confusion + * about operator precedence. + * + * @return string + */ + protected function _from_tables() + { + if ( ! empty($this->qb_join) && count($this->qb_from) > 1) + { + return '('.implode(', ', $this->qb_from).')'; + } + + return implode(', ', $this->qb_from); + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php new file mode 100644 index 0000000..629e0a9 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php @@ -0,0 +1,256 @@ +db->char_set) && ! strpos($sql, 'CHARACTER SET') && ! strpos($sql, 'CHARSET')) + { + $sql .= ' DEFAULT CHARACTER SET = '.$this->db->char_set; + } + + if ( ! empty($this->db->dbcollat) && ! strpos($sql, 'COLLATE')) + { + $sql .= ' COLLATE = '.$this->db->dbcollat; + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'DROP') + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + $field[$i] = ($alter_type === 'ADD') + ? "\n\tADD ".$field[$i]['_literal'] + : "\n\tMODIFY ".$field[$i]['_literal']; + } + else + { + if ($alter_type === 'ADD') + { + $field[$i]['_literal'] = "\n\tADD "; + } + else + { + $field[$i]['_literal'] = empty($field[$i]['new_name']) ? "\n\tMODIFY " : "\n\tCHANGE "; + } + + $field[$i] = $field[$i]['_literal'].$this->_process_column($field[$i]); + } + } + + return array($sql.implode(',', $field)); + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + $extra_clause = isset($field['after']) + ? ' AFTER '.$this->db->escape_identifiers($field['after']) : ''; + + if (empty($extra_clause) && isset($field['first']) && $field['first'] === TRUE) + { + $extra_clause = ' FIRST'; + } + + return $this->db->escape_identifiers($field['name']) + .(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name'])) + .' '.$field['type'].$field['length'] + .$field['unsigned'] + .$field['null'] + .$field['default'] + .$field['auto_increment'] + .$field['unique'] + .(empty($field['comment']) ? '' : ' COMMENT '.$field['comment']) + .$extra_clause; + } + + // -------------------------------------------------------------------- + + /** + * Process indexes + * + * @param string $table (ignored) + * @return string + */ + protected function _process_indexes($table) + { + $sql = ''; + + for ($i = 0, $c = count($this->keys); $i < $c; $i++) + { + if (is_array($this->keys[$i])) + { + for ($i2 = 0, $c2 = count($this->keys[$i]); $i2 < $c2; $i2++) + { + if ( ! isset($this->fields[$this->keys[$i][$i2]])) + { + unset($this->keys[$i][$i2]); + continue; + } + } + } + elseif ( ! isset($this->fields[$this->keys[$i]])) + { + unset($this->keys[$i]); + continue; + } + + is_array($this->keys[$i]) OR $this->keys[$i] = array($this->keys[$i]); + + $sql .= ",\n\tKEY ".$this->db->escape_identifiers(implode('_', $this->keys[$i])) + .' ('.implode(', ', $this->db->escape_identifiers($this->keys[$i])).')'; + } + + $this->keys = array(); + + return $sql; + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_oci_driver.php b/system/database/drivers/pdo/subdrivers/pdo_oci_driver.php new file mode 100644 index 0000000..fef7a9a --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_oci_driver.php @@ -0,0 +1,326 @@ +dsn)) + { + $this->dsn = 'oci:dbname='; + + // Oracle has a slightly different PDO DSN format (Easy Connect), + // which also supports pre-defined DSNs. + if (empty($this->hostname) && empty($this->port)) + { + $this->dsn .= $this->database; + } + else + { + $this->dsn .= '//'.(empty($this->hostname) ? '127.0.0.1' : $this->hostname) + .(empty($this->port) ? '' : ':'.$this->port).'/'; + + empty($this->database) OR $this->dsn .= $this->database; + } + + empty($this->char_set) OR $this->dsn .= ';charset='.$this->char_set; + } + elseif ( ! empty($this->char_set) && strpos($this->dsn, 'charset=', 4) === FALSE) + { + $this->dsn .= ';charset='.$this->char_set; + } + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + $version_string = parent::version(); + if (preg_match('#Release\s(?\d+(?:\.\d+)+)#', $version_string, $match)) + { + return $this->data_cache['version'] = $match[1]; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "TABLE_NAME" FROM "ALL_TABLES"'; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + return $sql.' WHERE "TABLE_NAME" LIKE \''.$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + if (strpos($table, '.') !== FALSE) + { + sscanf($table, '%[^.].%s', $owner, $table); + } + else + { + $owner = $this->username; + } + + return 'SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS + WHERE UPPER(OWNER) = '.$this->escape(strtoupper($owner)).' + AND UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (strpos($table, '.') !== FALSE) + { + sscanf($table, '%[^.].%s', $owner, $table); + } + else + { + $owner = $this->username; + } + + $sql = 'SELECT COLUMN_NAME, DATA_TYPE, CHAR_LENGTH, DATA_PRECISION, DATA_LENGTH, DATA_DEFAULT, NULLABLE + FROM ALL_TAB_COLUMNS + WHERE UPPER(OWNER) = '.$this->escape(strtoupper($owner)).' + AND UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->COLUMN_NAME; + $retval[$i]->type = $query[$i]->DATA_TYPE; + + $length = ($query[$i]->CHAR_LENGTH > 0) + ? $query[$i]->CHAR_LENGTH : $query[$i]->DATA_PRECISION; + if ($length === NULL) + { + $length = $query[$i]->DATA_LENGTH; + } + $retval[$i]->max_length = $length; + + $default = $query[$i]->DATA_DEFAULT; + if ($default === NULL && $query[$i]->NULLABLE === 'N') + { + $default = ''; + } + $retval[$i]->default = $query[$i]->COLUMN_DEFAULT; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string + */ + protected function _insert_batch($table, $keys, $values) + { + $keys = implode(', ', $keys); + $sql = "INSERT ALL\n"; + + for ($i = 0, $c = count($values); $i < $c; $i++) + { + $sql .= ' INTO '.$table.' ('.$keys.') VALUES '.$values[$i]."\n"; + } + + return $sql.'SELECT * FROM dual'; + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + if ($this->qb_limit) + { + $this->where('rownum <= ',$this->qb_limit, FALSE); + $this->qb_limit = FALSE; + } + + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + if (version_compare($this->version(), '12.1', '>=')) + { + // OFFSET-FETCH can be used only with the ORDER BY clause + empty($this->qb_orderby) && $sql .= ' ORDER BY 1'; + + return $sql.' OFFSET '.(int) $this->qb_offset.' ROWS FETCH NEXT '.$this->qb_limit.' ROWS ONLY'; + } + + return 'SELECT * FROM (SELECT inner_query.*, rownum rnum FROM ('.$sql.') inner_query WHERE rownum < '.($this->qb_offset + $this->qb_limit + 1).')' + .($this->qb_offset ? ' WHERE rnum >= '.($this->qb_offset + 1): ''); + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_oci_forge.php b/system/database/drivers/pdo/subdrivers/pdo_oci_forge.php new file mode 100644 index 0000000..ad26561 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_oci_forge.php @@ -0,0 +1,176 @@ +db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + $field[$i] = "\n\t".$field[$i]['_literal']; + } + else + { + $field[$i]['_literal'] = "\n\t".$this->_process_column($field[$i]); + + if ( ! empty($field[$i]['comment'])) + { + $sqls[] = 'COMMENT ON COLUMN ' + .$this->db->escape_identifiers($table).'.'.$this->db->escape_identifiers($field[$i]['name']) + .' IS '.$field[$i]['comment']; + } + + if ($alter_type === 'MODIFY' && ! empty($field[$i]['new_name'])) + { + $sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TO '.$this->db->escape_identifiers($field[$i]['new_name']); + } + } + } + + $sql .= ' '.$alter_type.' '; + $sql .= (count($field) === 1) + ? $field[0] + : '('.implode(',', $field).')'; + + // RENAME COLUMN must be executed after MODIFY + array_unshift($sqls, $sql); + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + // Not supported - sequences and triggers must be used instead + } + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'NUMBER'; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'NUMBER'; + return; + case 'INT': + $attributes['TYPE'] = 'NUMBER'; + return; + case 'BIGINT': + $attributes['TYPE'] = 'NUMBER'; + return; + default: return; + } + } +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php b/system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php new file mode 100644 index 0000000..4890988 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php @@ -0,0 +1,229 @@ +dsn)) + { + $this->dsn = 'odbc:'; + + // Pre-defined DSN + if (empty($this->hostname) && empty($this->HOSTNAME) && empty($this->port) && empty($this->PORT)) + { + if (isset($this->DSN)) + { + $this->dsn .= 'DSN='.$this->DSN; + } + elseif ( ! empty($this->database)) + { + $this->dsn .= 'DSN='.$this->database; + } + + return; + } + + // If the DSN is not pre-configured - try to build an IBM DB2 connection string + $this->dsn .= 'DRIVER='.(isset($this->DRIVER) ? '{'.$this->DRIVER.'}' : '{IBM DB2 ODBC DRIVER}').';'; + + if (isset($this->DATABASE)) + { + $this->dsn .= 'DATABASE='.$this->DATABASE.';'; + } + elseif ( ! empty($this->database)) + { + $this->dsn .= 'DATABASE='.$this->database.';'; + } + + if (isset($this->HOSTNAME)) + { + $this->dsn .= 'HOSTNAME='.$this->HOSTNAME.';'; + } + else + { + $this->dsn .= 'HOSTNAME='.(empty($this->hostname) ? '127.0.0.1;' : $this->hostname.';'); + } + + if (isset($this->PORT)) + { + $this->dsn .= 'PORT='.$this->port.';'; + } + elseif ( ! empty($this->port)) + { + $this->dsn .= ';PORT='.$this->port.';'; + } + + $this->dsn .= 'PROTOCOL='.(isset($this->PROTOCOL) ? $this->PROTOCOL.';' : 'TCPIP;'); + } + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + $this->display_error('db_unsupported_feature'); + } + + // -------------------------------------------------------------------- + + /** + * Determines if a query is a "write" type. + * + * @param string An SQL query string + * @return bool + */ + public function is_write_type($sql) + { + if (preg_match('#^(INSERT|UPDATE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) + { + return FALSE; + } + + return parent::is_write_type($sql); + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = '".$this->schema."'"; + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql." AND table_name LIKE '".$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT column_name FROM information_schema.columns WHERE table_name = '.$this->escape($table); + } +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_odbc_forge.php b/system/database/drivers/pdo/subdrivers/pdo_odbc_forge.php new file mode 100644 index 0000000..02b6a2a --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_odbc_forge.php @@ -0,0 +1,70 @@ +dsn)) + { + $this->dsn = 'pgsql:host='.(empty($this->hostname) ? '127.0.0.1' : $this->hostname); + + empty($this->port) OR $this->dsn .= ';port='.$this->port; + empty($this->database) OR $this->dsn .= ';dbname='.$this->database; + + if ( ! empty($this->username)) + { + $this->dsn .= ';username='.$this->username; + empty($this->password) OR $this->dsn .= ';password='.$this->password; + } + } + } + + // -------------------------------------------------------------------- + + /** + * Database connection + * + * @param bool $persistent + * @return object + */ + public function db_connect($persistent = FALSE) + { + $this->conn_id = parent::db_connect($persistent); + + if (is_object($this->conn_id) && ! empty($this->schema)) + { + $this->simple_query('SET search_path TO '.$this->schema.',public'); + } + + return $this->conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @param string $name + * @return int + */ + public function insert_id($name = NULL) + { + if ($name === NULL && version_compare($this->version(), '8.1', '>=')) + { + $query = $this->query('SELECT LASTVAL() AS ins_id'); + $query = $query->row(); + return $query->ins_id; + } + + return $this->conn_id->lastInsertId($name); + } + + // -------------------------------------------------------------------- + + /** + * Determines if a query is a "write" type. + * + * @param string An SQL query string + * @return bool + */ + public function is_write_type($sql) + { + if (preg_match('#^(INSERT|UPDATE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) + { + return FALSE; + } + + return parent::is_write_type($sql); + } + + // -------------------------------------------------------------------- + + /** + * "Smart" Escape String + * + * Escapes data based on type + * + * @param string $str + * @return mixed + */ + public function escape($str) + { + if (is_bool($str)) + { + return ($str) ? 'TRUE' : 'FALSE'; + } + + return parent::escape($str); + } + + // -------------------------------------------------------------------- + + /** + * ORDER BY + * + * @param string $orderby + * @param string $direction ASC, DESC or RANDOM + * @param bool $escape + * @return object + */ + public function order_by($orderby, $direction = '', $escape = NULL) + { + $direction = strtoupper(trim($direction)); + if ($direction === 'RANDOM') + { + if ( ! is_float($orderby) && ctype_digit((string) $orderby)) + { + $orderby = ($orderby > 1) + ? (float) '0.'.$orderby + : (float) $orderby; + } + + if (is_float($orderby)) + { + $this->simple_query('SET SEED '.$orderby); + } + + $orderby = $this->_random_keyword[0]; + $direction = ''; + $escape = FALSE; + } + + return parent::order_by($orderby, $direction, $escape); + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "table_name" FROM "information_schema"."tables" WHERE "table_schema" = \''.$this->schema."'"; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + return $sql.' AND "table_name" LIKE \'' + .$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * List column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT "column_name" + FROM "information_schema"."columns" + WHERE LOWER("table_name") = '.$this->escape(strtolower($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT "column_name", "data_type", "character_maximum_length", "numeric_precision", "column_default" + FROM "information_schema"."columns" + WHERE LOWER("table_name") = '.$this->escape(strtolower($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->column_name; + $retval[$i]->type = $query[$i]->data_type; + $retval[$i]->max_length = ($query[$i]->character_maximum_length > 0) ? $query[$i]->character_maximum_length : $query[$i]->numeric_precision; + $retval[$i]->default = $query[$i]->column_default; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Update_Batch statement + * + * Generates a platform-specific batch update string from the supplied data + * + * @param string $table Table name + * @param array $values Update data + * @param string $index WHERE key + * @return string + */ + protected function _update_batch($table, $values, $index) + { + $ids = array(); + foreach ($values as $key => $val) + { + $ids[] = $val[$index]['value']; + + foreach (array_keys($val) as $field) + { + if ($field !== $index) + { + $final[$val[$field]['field']][] = 'WHEN '.$val[$index]['value'].' THEN '.$val[$field]['value']; + } + } + } + + $cases = ''; + foreach ($final as $k => $v) + { + $cases .= $k.' = (CASE '.$val[$index]['field']."\n" + .implode("\n", $v)."\n" + .'ELSE '.$k.' END), '; + } + + $this->where($val[$index]['field'].' IN('.implode(',', $ids).')', NULL, FALSE); + + return 'UPDATE '.$table.' SET '.substr($cases, 0, -2).$this->_compile_wh('qb_where'); + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + $this->qb_limit = FALSE; + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + return $sql.' LIMIT '.$this->qb_limit.($this->qb_offset ? ' OFFSET '.$this->qb_offset : ''); + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php new file mode 100644 index 0000000..e5bfee6 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php @@ -0,0 +1,210 @@ + 'INTEGER', + 'SMALLINT' => 'INTEGER', + 'INT' => 'BIGINT', + 'INT4' => 'BIGINT', + 'INTEGER' => 'BIGINT', + 'INT8' => 'NUMERIC', + 'BIGINT' => 'NUMERIC', + 'REAL' => 'DOUBLE PRECISION', + 'FLOAT' => 'DOUBLE PRECISION' + ); + + /** + * NULL value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_null = 'NULL'; + + // -------------------------------------------------------------------- + + /** + * Class constructor + * + * @param object &$db Database object + * @return void + */ + public function __construct(&$db) + { + parent::__construct($db); + + if (version_compare($this->db->version(), '9.0', '>')) + { + $this->create_table_if = 'CREATE TABLE IF NOT EXISTS'; + } + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('DROP', 'ADD'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + return FALSE; + } + + if (version_compare($this->db->version(), '8', '>=') && isset($field[$i]['type'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TYPE '.$field[$i]['type'].$field[$i]['length']; + } + + if ( ! empty($field[$i]['default'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' SET DEFAULT '.$field[$i]['default']; + } + + if (isset($field[$i]['null'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .($field[$i]['null'] === TRUE ? ' DROP NOT NULL' : ' SET NOT NULL'); + } + + if ( ! empty($field[$i]['new_name'])) + { + $sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TO '.$this->db->escape_identifiers($field[$i]['new_name']); + } + + if ( ! empty($field[$i]['comment'])) + { + $sqls[] = 'COMMENT ON COLUMN ' + .$this->db->escape_identifiers($table).'.'.$this->db->escape_identifiers($field[$i]['name']) + .' IS '.$field[$i]['comment']; + } + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + // Reset field lengths for data types that don't support it + if (isset($attributes['CONSTRAINT']) && stripos($attributes['TYPE'], 'int') !== FALSE) + { + $attributes['CONSTRAINT'] = NULL; + } + + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE) + { + $field['type'] = ($field['type'] === 'NUMERIC') + ? 'BIGSERIAL' + : 'SERIAL'; + } + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_sqlite_driver.php b/system/database/drivers/pdo/subdrivers/pdo_sqlite_driver.php new file mode 100644 index 0000000..93871a9 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_sqlite_driver.php @@ -0,0 +1,219 @@ +dsn)) + { + $this->dsn = 'sqlite:'; + + if (empty($this->database) && empty($this->hostname)) + { + $this->database = ':memory:'; + } + + $this->database = empty($this->database) ? $this->hostname : $this->database; + } + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "NAME" FROM "SQLITE_MASTER" WHERE "TYPE" = \'table\''; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + return $sql.' AND "NAME" LIKE \''.$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * @param string $table Table name + * @return array + */ + public function list_fields($table) + { + // Is there a cached result? + if (isset($this->data_cache['field_names'][$table])) + { + return $this->data_cache['field_names'][$table]; + } + + if (($result = $this->query('PRAGMA TABLE_INFO('.$this->protect_identifiers($table, TRUE, NULL, FALSE).')')) === FALSE) + { + return FALSE; + } + + $this->data_cache['field_names'][$table] = array(); + foreach ($result->result_array() as $row) + { + $this->data_cache['field_names'][$table][] = $row['name']; + } + + return $this->data_cache['field_names'][$table]; + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('PRAGMA TABLE_INFO('.$this->protect_identifiers($table, TRUE, NULL, FALSE).')')) === FALSE) + { + return FALSE; + } + + $query = $query->result_array(); + if (empty($query)) + { + return FALSE; + } + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]['name']; + $retval[$i]->type = $query[$i]['type']; + $retval[$i]->max_length = NULL; + $retval[$i]->default = $query[$i]['dflt_value']; + $retval[$i]->primary_key = isset($query[$i]['pk']) ? (int) $query[$i]['pk'] : 0; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Replace statement + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string + */ + protected function _replace($table, $keys, $values) + { + return 'INSERT OR '.parent::_replace($table, $keys, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'DELETE FROM '.$table; + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php b/system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php new file mode 100644 index 0000000..67fe6ee --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php @@ -0,0 +1,238 @@ +db->version(), '3.3', '<')) + { + $this->_create_table_if = FALSE; + $this->_drop_table_if = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Create database + * + * @param string $db_name (ignored) + * @return bool + */ + public function create_database($db_name) + { + // In SQLite, a database is created when you connect to the database. + // We'll return TRUE so that an error isn't generated + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Drop database + * + * @param string $db_name (ignored) + * @return bool + */ + public function drop_database($db_name) + { + // In SQLite, a database is dropped when we delete a file + if (file_exists($this->db->database)) + { + // We need to close the pseudo-connection first + $this->db->close(); + if ( ! @unlink($this->db->database)) + { + return $this->db->db_debug ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + elseif ( ! empty($this->db->data_cache['db_names'])) + { + $key = array_search(strtolower($this->db->database), array_map('strtolower', $this->db->data_cache['db_names']), TRUE); + if ($key !== FALSE) + { + unset($this->db->data_cache['db_names'][$key]); + } + } + + return TRUE; + } + + return $this->db->db_debug ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'DROP' OR $alter_type === 'CHANGE') + { + // drop_column(): + // BEGIN TRANSACTION; + // CREATE TEMPORARY TABLE t1_backup(a,b); + // INSERT INTO t1_backup SELECT a,b FROM t1; + // DROP TABLE t1; + // CREATE TABLE t1(a,b); + // INSERT INTO t1 SELECT a,b FROM t1_backup; + // DROP TABLE t1_backup; + // COMMIT; + + return FALSE; + } + + return parent::_alter_table($alter_type, $table, $field); + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + return $this->db->escape_identifiers($field['name']) + .' '.$field['type'] + .$field['auto_increment'] + .$field['null'] + .$field['unique'] + .$field['default']; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'ENUM': + case 'SET': + $attributes['TYPE'] = 'TEXT'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['type'] = 'INTEGER PRIMARY KEY'; + $field['default'] = ''; + $field['null'] = ''; + $field['unique'] = ''; + $field['auto_increment'] = ' AUTOINCREMENT'; + + $this->primary_keys = array(); + } + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_sqlsrv_driver.php b/system/database/drivers/pdo/subdrivers/pdo_sqlsrv_driver.php new file mode 100644 index 0000000..db10029 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_sqlsrv_driver.php @@ -0,0 +1,369 @@ +dsn)) + { + $this->dsn = 'sqlsrv:Server='.(empty($this->hostname) ? '127.0.0.1' : $this->hostname); + + empty($this->port) OR $this->dsn .= ','.$this->port; + empty($this->database) OR $this->dsn .= ';Database='.$this->database; + + // Some custom options + + if (isset($this->QuotedId)) + { + $this->dsn .= ';QuotedId='.$this->QuotedId; + $this->_quoted_identifier = (bool) $this->QuotedId; + } + + if (isset($this->ConnectionPooling)) + { + $this->dsn .= ';ConnectionPooling='.$this->ConnectionPooling; + } + + if ($this->encrypt === TRUE) + { + $this->dsn .= ';Encrypt=1'; + } + + if (isset($this->TraceOn)) + { + $this->dsn .= ';TraceOn='.$this->TraceOn; + } + + if (isset($this->TrustServerCertificate)) + { + $this->dsn .= ';TrustServerCertificate='.$this->TrustServerCertificate; + } + + empty($this->APP) OR $this->dsn .= ';APP='.$this->APP; + empty($this->Failover_Partner) OR $this->dsn .= ';Failover_Partner='.$this->Failover_Partner; + empty($this->LoginTimeout) OR $this->dsn .= ';LoginTimeout='.$this->LoginTimeout; + empty($this->MultipleActiveResultSets) OR $this->dsn .= ';MultipleActiveResultSets='.$this->MultipleActiveResultSets; + empty($this->TraceFile) OR $this->dsn .= ';TraceFile='.$this->TraceFile; + empty($this->WSID) OR $this->dsn .= ';WSID='.$this->WSID; + } + elseif (preg_match('/QuotedId=(0|1)/', $this->dsn, $match)) + { + $this->_quoted_identifier = (bool) $match[1]; + } + } + + // -------------------------------------------------------------------- + + /** + * Database connection + * + * @param bool $persistent + * @return object + */ + public function db_connect($persistent = FALSE) + { + if ( ! empty($this->char_set) && preg_match('/utf[^8]*8/i', $this->char_set)) + { + $this->options[PDO::SQLSRV_ENCODING_UTF8] = 1; + } + + $this->conn_id = parent::db_connect($persistent); + + if ( ! is_object($this->conn_id) OR is_bool($this->_quoted_identifier)) + { + return $this->conn_id; + } + + // Determine how identifiers are escaped + $query = $this->query('SELECT CASE WHEN (@@OPTIONS | 256) = @@OPTIONS THEN 1 ELSE 0 END AS qi'); + $query = $query->row_array(); + $this->_quoted_identifier = empty($query) ? FALSE : (bool) $query['qi']; + $this->_escape_char = ($this->_quoted_identifier) ? '"' : array('[', ']'); + + return $this->conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT '.$this->escape_identifiers('name') + .' FROM '.$this->escape_identifiers('sysobjects') + .' WHERE '.$this->escape_identifiers('type')." = 'U'"; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + $sql .= ' AND '.$this->escape_identifiers('name')." LIKE '".$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql.' ORDER BY '.$this->escape_identifiers('name'); + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT COLUMN_NAME + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, COLUMN_DEFAULT + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->COLUMN_NAME; + $retval[$i]->type = $query[$i]->DATA_TYPE; + $retval[$i]->max_length = ($query[$i]->CHARACTER_MAXIMUM_LENGTH > 0) ? $query[$i]->CHARACTER_MAXIMUM_LENGTH : $query[$i]->NUMERIC_PRECISION; + $retval[$i]->default = $query[$i]->COLUMN_DEFAULT; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + if ($this->qb_limit) + { + return 'WITH ci_delete AS (SELECT TOP '.$this->qb_limit.' * FROM '.$table.$this->_compile_wh('qb_where').') DELETE FROM ci_delete'; + } + + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + // As of SQL Server 2012 (11.0.*) OFFSET is supported + if (version_compare($this->version(), '11', '>=')) + { + // SQL Server OFFSET-FETCH can be used only with the ORDER BY clause + empty($this->qb_orderby) && $sql .= ' ORDER BY 1'; + + return $sql.' OFFSET '.(int) $this->qb_offset.' ROWS FETCH NEXT '.$this->qb_limit.' ROWS ONLY'; + } + + $limit = $this->qb_offset + $this->qb_limit; + + // An ORDER BY clause is required for ROW_NUMBER() to work + if ($this->qb_offset && ! empty($this->qb_orderby)) + { + $orderby = $this->_compile_order_by(); + + // We have to strip the ORDER BY clause + $sql = trim(substr($sql, 0, strrpos($sql, $orderby))); + + // Get the fields to select from our subquery, so that we can avoid CI_rownum appearing in the actual results + if (count($this->qb_select) === 0 OR strpos(implode(',', $this->qb_select), '*') !== FALSE) + { + $select = '*'; // Inevitable + } + else + { + // Use only field names and their aliases, everything else is out of our scope. + $select = array(); + $field_regexp = ($this->_quoted_identifier) + ? '("[^\"]+")' : '(\[[^\]]+\])'; + for ($i = 0, $c = count($this->qb_select); $i < $c; $i++) + { + $select[] = preg_match('/(?:\s|\.)'.$field_regexp.'$/i', $this->qb_select[$i], $m) + ? $m[1] : $this->qb_select[$i]; + } + $select = implode(', ', $select); + } + + return 'SELECT '.$select." FROM (\n\n" + .preg_replace('/^(SELECT( DISTINCT)?)/i', '\\1 ROW_NUMBER() OVER('.trim($orderby).') AS '.$this->escape_identifiers('CI_rownum').', ', $sql) + ."\n\n) ".$this->escape_identifiers('CI_subquery') + ."\nWHERE ".$this->escape_identifiers('CI_rownum').' BETWEEN '.($this->qb_offset + 1).' AND '.$limit; + } + + return preg_replace('/(^\SELECT (DISTINCT)?)/i','\\1 TOP '.$limit.' ', $sql); + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data. + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string|bool + */ + protected function _insert_batch($table, $keys, $values) + { + // Multiple-value inserts are only supported as of SQL Server 2008 + if (version_compare($this->version(), '10', '>=')) + { + return parent::_insert_batch($table, $keys, $values); + } + + return ($this->db_debug) ? $this->display_error('db_unsupported_feature') : FALSE; + } + +} diff --git a/system/database/drivers/pdo/subdrivers/pdo_sqlsrv_forge.php b/system/database/drivers/pdo/subdrivers/pdo_sqlsrv_forge.php new file mode 100644 index 0000000..4c9dbe6 --- /dev/null +++ b/system/database/drivers/pdo/subdrivers/pdo_sqlsrv_forge.php @@ -0,0 +1,149 @@ + 'SMALLINT', + 'SMALLINT' => 'INT', + 'INT' => 'BIGINT', + 'REAL' => 'FLOAT' + ); + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('ADD', 'DROP'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN '; + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + $sqls[] = $sql.$this->_process_column($field[$i]); + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE) + { + unset($attributes['CONSTRAINT']); + } + + switch (strtoupper($attributes['TYPE'])) + { + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'INTEGER': + $attributes['TYPE'] = 'INT'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['auto_increment'] = ' IDENTITY(1,1)'; + } + } + +} diff --git a/system/database/drivers/postgre/index.html b/system/database/drivers/postgre/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/postgre/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php new file mode 100644 index 0000000..7fb258a --- /dev/null +++ b/system/database/drivers/postgre/postgre_driver.php @@ -0,0 +1,620 @@ +dsn)) + { + return; + } + + $this->dsn === '' OR $this->dsn = ''; + + if (strpos($this->hostname, '/') !== FALSE) + { + // If UNIX sockets are used, we shouldn't set a port + $this->port = ''; + } + + $this->hostname === '' OR $this->dsn = 'host='.$this->hostname.' '; + + if ( ! empty($this->port) && ctype_digit($this->port)) + { + $this->dsn .= 'port='.$this->port.' '; + } + + if ($this->username !== '') + { + $this->dsn .= 'user='.$this->username.' '; + + /* An empty password is valid! + * + * $db['password'] = NULL must be done in order to ignore it. + */ + $this->password === NULL OR $this->dsn .= "password='".$this->password."' "; + } + + $this->database === '' OR $this->dsn .= 'dbname='.$this->database.' '; + + /* We don't have these options as elements in our standard configuration + * array, but they might be set by parse_url() if the configuration was + * provided via string. Example: + * + * postgre://username:password@localhost:5432/database?connect_timeout=5&sslmode=1 + */ + foreach (array('connect_timeout', 'options', 'sslmode', 'service') as $key) + { + if (isset($this->$key) && is_string($this->$key) && $this->$key !== '') + { + $this->dsn .= $key."='".$this->$key."' "; + } + } + + $this->dsn = rtrim($this->dsn); + } + + // -------------------------------------------------------------------- + + /** + * Database connection + * + * @param bool $persistent + * @return resource + */ + public function db_connect($persistent = FALSE) + { + $this->conn_id = ($persistent === TRUE) + ? pg_pconnect($this->dsn) + : pg_connect($this->dsn); + + if ($this->conn_id !== FALSE) + { + if ($persistent === TRUE + && pg_connection_status($this->conn_id) === PGSQL_CONNECTION_BAD + && pg_ping($this->conn_id) === FALSE + ) + { + return FALSE; + } + + empty($this->schema) OR $this->simple_query('SET search_path TO '.$this->schema.',public'); + } + + return $this->conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Reconnect + * + * Keep / reestablish the db connection if no queries have been + * sent for a length of time exceeding the server's idle timeout + * + * @return void + */ + public function reconnect() + { + if (pg_ping($this->conn_id) === FALSE) + { + $this->conn_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Set client character set + * + * @param string $charset + * @return bool + */ + protected function _db_set_charset($charset) + { + return (pg_set_client_encoding($this->conn_id, $charset) === 0); + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + if ( ! $this->conn_id OR ($pg_version = pg_version($this->conn_id)) === FALSE) + { + return FALSE; + } + + /* If PHP was compiled with PostgreSQL lib versions earlier + * than 7.4, pg_version() won't return the server version + * and so we'll have to fall back to running a query in + * order to get it. + */ + return isset($pg_version['server']) + ? $this->data_cache['version'] = $pg_version['server'] + : parent::version(); + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return resource + */ + protected function _execute($sql) + { + return pg_query($this->conn_id, $sql); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + return (bool) pg_query($this->conn_id, 'BEGIN'); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + return (bool) pg_query($this->conn_id, 'COMMIT'); + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + return (bool) pg_query($this->conn_id, 'ROLLBACK'); + } + + // -------------------------------------------------------------------- + + /** + * Determines if a query is a "write" type. + * + * @param string An SQL query string + * @return bool + */ + public function is_write_type($sql) + { + if (preg_match('#^(INSERT|UPDATE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) + { + return FALSE; + } + + return parent::is_write_type($sql); + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + return pg_escape_string($this->conn_id, $str); + } + + // -------------------------------------------------------------------- + + /** + * "Smart" Escape String + * + * Escapes data based on type + * + * @param string $str + * @return mixed + */ + public function escape($str) + { + if (is_php('5.4.4') && (is_string($str) OR (is_object($str) && method_exists($str, '__toString')))) + { + return pg_escape_literal($this->conn_id, $str); + } + elseif (is_bool($str)) + { + return ($str) ? 'TRUE' : 'FALSE'; + } + + return parent::escape($str); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return pg_affected_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return string + */ + public function insert_id() + { + $v = pg_version($this->conn_id); + $v = isset($v['server']) ? $v['server'] : 0; // 'server' key is only available since PosgreSQL 7.4 + + $table = (func_num_args() > 0) ? func_get_arg(0) : NULL; + $column = (func_num_args() > 1) ? func_get_arg(1) : NULL; + + if ($table === NULL && $v >= '8.1') + { + $sql = 'SELECT LASTVAL() AS ins_id'; + } + elseif ($table !== NULL) + { + if ($column !== NULL && $v >= '8.0') + { + $sql = 'SELECT pg_get_serial_sequence(\''.$table."', '".$column."') AS seq"; + $query = $this->query($sql); + $query = $query->row(); + $seq = $query->seq; + } + else + { + // seq_name passed in table parameter + $seq = $table; + } + + $sql = 'SELECT CURRVAL(\''.$seq."') AS ins_id"; + } + else + { + return pg_last_oid($this->result_id); + } + + $query = $this->query($sql); + $query = $query->row(); + return (int) $query->ins_id; + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT "table_name" FROM "information_schema"."tables" WHERE "table_schema" = \''.$this->schema."'"; + + if ($prefix_limit !== FALSE && $this->dbprefix !== '') + { + return $sql.' AND "table_name" LIKE \'' + .$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * List column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT "column_name" + FROM "information_schema"."columns" + WHERE LOWER("table_name") = '.$this->escape(strtolower($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT "column_name", "data_type", "character_maximum_length", "numeric_precision", "column_default" + FROM "information_schema"."columns" + WHERE LOWER("table_name") = '.$this->escape(strtolower($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->column_name; + $retval[$i]->type = $query[$i]->data_type; + $retval[$i]->max_length = ($query[$i]->character_maximum_length > 0) ? $query[$i]->character_maximum_length : $query[$i]->numeric_precision; + $retval[$i]->default = $query[$i]->column_default; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + return array('code' => '', 'message' => pg_last_error($this->conn_id)); + } + + // -------------------------------------------------------------------- + + /** + * ORDER BY + * + * @param string $orderby + * @param string $direction ASC, DESC or RANDOM + * @param bool $escape + * @return object + */ + public function order_by($orderby, $direction = '', $escape = NULL) + { + $direction = strtoupper(trim($direction)); + if ($direction === 'RANDOM') + { + if ( ! is_float($orderby) && ctype_digit((string) $orderby)) + { + $orderby = ($orderby > 1) + ? (float) '0.'.$orderby + : (float) $orderby; + } + + if (is_float($orderby)) + { + $this->simple_query('SET SEED '.$orderby); + } + + $orderby = $this->_random_keyword[0]; + $direction = ''; + $escape = FALSE; + } + + return parent::order_by($orderby, $direction, $escape); + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Update_Batch statement + * + * Generates a platform-specific batch update string from the supplied data + * + * @param string $table Table name + * @param array $values Update data + * @param string $index WHERE key + * @return string + */ + protected function _update_batch($table, $values, $index) + { + $ids = array(); + foreach ($values as $key => $val) + { + $ids[] = $val[$index]['value']; + + foreach (array_keys($val) as $field) + { + if ($field !== $index) + { + $final[$val[$field]['field']][] = 'WHEN '.$val[$index]['value'].' THEN '.$val[$field]['value']; + } + } + } + + $cases = ''; + foreach ($final as $k => $v) + { + $cases .= $k.' = (CASE '.$val[$index]['field']."\n" + .implode("\n", $v)."\n" + .'ELSE '.$k.' END), '; + } + + $this->where($val[$index]['field'].' IN('.implode(',', $ids).')', NULL, FALSE); + + return 'UPDATE '.$table.' SET '.substr($cases, 0, -2).$this->_compile_wh('qb_where'); + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + $this->qb_limit = FALSE; + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + return $sql.' LIMIT '.$this->qb_limit.($this->qb_offset ? ' OFFSET '.$this->qb_offset : ''); + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + pg_close($this->conn_id); + } + +} diff --git a/system/database/drivers/postgre/postgre_forge.php b/system/database/drivers/postgre/postgre_forge.php new file mode 100644 index 0000000..cf90325 --- /dev/null +++ b/system/database/drivers/postgre/postgre_forge.php @@ -0,0 +1,205 @@ + 'INTEGER', + 'SMALLINT' => 'INTEGER', + 'INT' => 'BIGINT', + 'INT4' => 'BIGINT', + 'INTEGER' => 'BIGINT', + 'INT8' => 'NUMERIC', + 'BIGINT' => 'NUMERIC', + 'REAL' => 'DOUBLE PRECISION', + 'FLOAT' => 'DOUBLE PRECISION' + ); + + /** + * NULL value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_null = 'NULL'; + + // -------------------------------------------------------------------- + + /** + * Class constructor + * + * @param object &$db Database object + * @return void + */ + public function __construct(&$db) + { + parent::__construct($db); + + if (version_compare($this->db->version(), '9.0', '>')) + { + $this->create_table_if = 'CREATE TABLE IF NOT EXISTS'; + } + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('DROP', 'ADD'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table); + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + if ($field[$i]['_literal'] !== FALSE) + { + return FALSE; + } + + if (version_compare($this->db->version(), '8', '>=') && isset($field[$i]['type'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TYPE '.$field[$i]['type'].$field[$i]['length']; + } + + if ( ! empty($field[$i]['default'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' SET DEFAULT '.$field[$i]['default']; + } + + if (isset($field[$i]['null'])) + { + $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .($field[$i]['null'] === TRUE ? ' DROP NOT NULL' : ' SET NOT NULL'); + } + + if ( ! empty($field[$i]['new_name'])) + { + $sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name']) + .' TO '.$this->db->escape_identifiers($field[$i]['new_name']); + } + + if ( ! empty($field[$i]['comment'])) + { + $sqls[] = 'COMMENT ON COLUMN ' + .$this->db->escape_identifiers($table).'.'.$this->db->escape_identifiers($field[$i]['name']) + .' IS '.$field[$i]['comment']; + } + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + // Reset field lengths for data types that don't support it + if (isset($attributes['CONSTRAINT']) && stripos($attributes['TYPE'], 'int') !== FALSE) + { + $attributes['CONSTRAINT'] = NULL; + } + + switch (strtoupper($attributes['TYPE'])) + { + case 'TINYINT': + $attributes['TYPE'] = 'SMALLINT'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE) + { + $field['type'] = ($field['type'] === 'NUMERIC') + ? 'BIGSERIAL' + : 'SERIAL'; + } + } + +} diff --git a/system/database/drivers/postgre/postgre_result.php b/system/database/drivers/postgre/postgre_result.php new file mode 100644 index 0000000..daf3306 --- /dev/null +++ b/system/database/drivers/postgre/postgre_result.php @@ -0,0 +1,182 @@ +num_rows) + ? $this->num_rows + : $this->num_rows = pg_num_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return pg_num_fields($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $field_names[] = pg_field_name($this->result_id, $i); + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = pg_field_name($this->result_id, $i); + $retval[$i]->type = pg_field_type($this->result_id, $i); + $retval[$i]->max_length = pg_field_size($this->result_id, $i); + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_resource($this->result_id)) + { + pg_free_result($this->result_id); + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * @param int $n + * @return bool + */ + public function data_seek($n = 0) + { + return pg_result_seek($this->result_id, $n); + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return pg_fetch_assoc($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return pg_fetch_object($this->result_id, NULL, $class_name); + } + +} diff --git a/system/database/drivers/postgre/postgre_utility.php b/system/database/drivers/postgre/postgre_utility.php new file mode 100644 index 0000000..3af225f --- /dev/null +++ b/system/database/drivers/postgre/postgre_utility.php @@ -0,0 +1,78 @@ +db->display_error('db_unsupported_feature'); + } +} diff --git a/system/database/drivers/sqlite/index.html b/system/database/drivers/sqlite/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/sqlite/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php new file mode 100644 index 0000000..a061229 --- /dev/null +++ b/system/database/drivers/sqlite/sqlite_driver.php @@ -0,0 +1,330 @@ +database, 0666, $error) + : sqlite_open($this->database, 0666, $error); + + isset($error) && log_message('error', $error); + + return $conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + return isset($this->data_cache['version']) + ? $this->data_cache['version'] + : $this->data_cache['version'] = sqlite_libversion(); + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return resource + */ + protected function _execute($sql) + { + return $this->is_write_type($sql) + ? sqlite_exec($this->conn_id, $sql) + : sqlite_query($this->conn_id, $sql); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + return $this->simple_query('BEGIN TRANSACTION'); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + return $this->simple_query('COMMIT'); + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + return $this->simple_query('ROLLBACK'); + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependant string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + return sqlite_escape_string($str); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return sqlite_changes($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return int + */ + public function insert_id() + { + return sqlite_last_insert_rowid($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * List table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = "SELECT name FROM sqlite_master WHERE type='table'"; + + if ($prefix_limit !== FALSE && $this->dbprefix != '') + { + return $sql." AND 'name' LIKE '".$this->escape_like_str($this->dbprefix)."%' ".sprintf($this->_like_escape_str, $this->_like_escape_chr); + } + + return $sql; + } + + // -------------------------------------------------------------------- + + /** + * Show column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return bool + */ + protected function _list_columns($table = '') + { + // Not supported + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('PRAGMA TABLE_INFO('.$this->protect_identifiers($table, TRUE, NULL, FALSE).')')) === FALSE) + { + return FALSE; + } + + $query = $query->result_array(); + if (empty($query)) + { + return FALSE; + } + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]['name']; + $retval[$i]->type = $query[$i]['type']; + $retval[$i]->max_length = NULL; + $retval[$i]->default = $query[$i]['dflt_value']; + $retval[$i]->primary_key = isset($query[$i]['pk']) ? (int) $query[$i]['pk'] : 0; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occured. + * + * @return array + */ + public function error() + { + $error = array('code' => sqlite_last_error($this->conn_id)); + $error['message'] = sqlite_error_string($error['code']); + return $error; + } + + // -------------------------------------------------------------------- + + /** + * Replace statement + * + * Generates a platform-specific replace string from the supplied data + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string + */ + protected function _replace($table, $keys, $values) + { + return 'INSERT OR '.parent::_replace($table, $keys, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this function maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'DELETE FROM '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + sqlite_close($this->conn_id); + } + +} diff --git a/system/database/drivers/sqlite/sqlite_forge.php b/system/database/drivers/sqlite/sqlite_forge.php new file mode 100644 index 0000000..10d5fe6 --- /dev/null +++ b/system/database/drivers/sqlite/sqlite_forge.php @@ -0,0 +1,205 @@ +db->database) OR ! @unlink($this->db->database)) + { + return ($this->db->db_debug) ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + elseif ( ! empty($this->db->data_cache['db_names'])) + { + $key = array_search(strtolower($this->db->database), array_map('strtolower', $this->db->data_cache['db_names']), TRUE); + if ($key !== FALSE) + { + unset($this->db->data_cache['db_names'][$key]); + } + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @todo implement drop_column(), modify_column() + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'DROP' OR $alter_type === 'CHANGE') + { + // drop_column(): + // BEGIN TRANSACTION; + // CREATE TEMPORARY TABLE t1_backup(a,b); + // INSERT INTO t1_backup SELECT a,b FROM t1; + // DROP TABLE t1; + // CREATE TABLE t1(a,b); + // INSERT INTO t1 SELECT a,b FROM t1_backup; + // DROP TABLE t1_backup; + // COMMIT; + + return FALSE; + } + + return parent::_alter_table($alter_type, $table, $field); + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + return $this->db->escape_identifiers($field['name']) + .' '.$field['type'] + .$field['auto_increment'] + .$field['null'] + .$field['unique'] + .$field['default']; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'ENUM': + case 'SET': + $attributes['TYPE'] = 'TEXT'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['type'] = 'INTEGER PRIMARY KEY'; + $field['default'] = ''; + $field['null'] = ''; + $field['unique'] = ''; + $field['auto_increment'] = ' AUTOINCREMENT'; + + $this->primary_keys = array(); + } + } + +} diff --git a/system/database/drivers/sqlite/sqlite_result.php b/system/database/drivers/sqlite/sqlite_result.php new file mode 100644 index 0000000..59516b0 --- /dev/null +++ b/system/database/drivers/sqlite/sqlite_result.php @@ -0,0 +1,164 @@ +num_rows) + ? $this->num_rows + : $this->num_rows = @sqlite_num_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return @sqlite_num_fields($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $field_names[$i] = sqlite_field_name($this->result_id, $i); + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = sqlite_field_name($this->result_id, $i); + $retval[$i]->type = NULL; + $retval[$i]->max_length = NULL; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * @param int $n + * @return bool + */ + public function data_seek($n = 0) + { + return sqlite_seek($this->result_id, $n); + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return sqlite_fetch_array($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return sqlite_fetch_object($this->result_id, $class_name); + } + +} diff --git a/system/database/drivers/sqlite/sqlite_utility.php b/system/database/drivers/sqlite/sqlite_utility.php new file mode 100644 index 0000000..57f685e --- /dev/null +++ b/system/database/drivers/sqlite/sqlite_utility.php @@ -0,0 +1,61 @@ +db->display_error('db_unsupported_feature'); + } + +} diff --git a/system/database/drivers/sqlite3/index.html b/system/database/drivers/sqlite3/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/sqlite3/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/sqlite3/sqlite3_driver.php b/system/database/drivers/sqlite3/sqlite3_driver.php new file mode 100644 index 0000000..41d9d48 --- /dev/null +++ b/system/database/drivers/sqlite3/sqlite3_driver.php @@ -0,0 +1,350 @@ +password) + ? new SQLite3($this->database) + : new SQLite3($this->database, SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, $this->password); + } + catch (Exception $e) + { + return FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + $version = SQLite3::version(); + return $this->data_cache['version'] = $version['versionString']; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @todo Implement use of SQLite3::querySingle(), if needed + * @param string $sql + * @return mixed SQLite3Result object or bool + */ + protected function _execute($sql) + { + return $this->is_write_type($sql) + ? $this->conn_id->exec($sql) + : $this->conn_id->query($sql); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + return $this->conn_id->exec('BEGIN TRANSACTION'); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + return $this->conn_id->exec('END TRANSACTION'); + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + return $this->conn_id->exec('ROLLBACK'); + } + + // -------------------------------------------------------------------- + + /** + * Platform-dependent string escape + * + * @param string + * @return string + */ + protected function _escape_str($str) + { + return $this->conn_id->escapeString($str); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return $this->conn_id->changes(); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * @return int + */ + public function insert_id() + { + return $this->conn_id->lastInsertRowID(); + } + + // -------------------------------------------------------------------- + + /** + * Show table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool $prefix_limit + * @return string + */ + protected function _list_tables($prefix_limit = FALSE) + { + return 'SELECT "NAME" FROM "SQLITE_MASTER" WHERE "TYPE" = \'table\'' + .(($prefix_limit !== FALSE && $this->dbprefix != '') + ? ' AND "NAME" LIKE \''.$this->escape_like_str($this->dbprefix).'%\' '.sprintf($this->_like_escape_str, $this->_like_escape_chr) + : ''); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * @param string $table Table name + * @return array + */ + public function list_fields($table) + { + // Is there a cached result? + if (isset($this->data_cache['field_names'][$table])) + { + return $this->data_cache['field_names'][$table]; + } + + if (($result = $this->query('PRAGMA TABLE_INFO('.$this->protect_identifiers($table, TRUE, NULL, FALSE).')')) === FALSE) + { + return FALSE; + } + + $this->data_cache['field_names'][$table] = array(); + foreach ($result->result_array() as $row) + { + $this->data_cache['field_names'][$table][] = $row['name']; + } + + return $this->data_cache['field_names'][$table]; + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + if (($query = $this->query('PRAGMA TABLE_INFO('.$this->protect_identifiers($table, TRUE, NULL, FALSE).')')) === FALSE) + { + return FALSE; + } + + $query = $query->result_array(); + if (empty($query)) + { + return FALSE; + } + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]['name']; + $retval[$i]->type = $query[$i]['type']; + $retval[$i]->max_length = NULL; + $retval[$i]->default = $query[$i]['dflt_value']; + $retval[$i]->primary_key = isset($query[$i]['pk']) ? (int) $query[$i]['pk'] : 0; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + return array('code' => $this->conn_id->lastErrorCode(), 'message' => $this->conn_id->lastErrorMsg()); + } + + // -------------------------------------------------------------------- + + /** + * Replace statement + * + * Generates a platform-specific replace string from the supplied data + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string + */ + protected function _replace($table, $keys, $values) + { + return 'INSERT OR '.parent::_replace($table, $keys, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'DELETE FROM '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + $this->conn_id->close(); + } + +} diff --git a/system/database/drivers/sqlite3/sqlite3_forge.php b/system/database/drivers/sqlite3/sqlite3_forge.php new file mode 100644 index 0000000..48c5efc --- /dev/null +++ b/system/database/drivers/sqlite3/sqlite3_forge.php @@ -0,0 +1,225 @@ +db->version(), '3.3', '<')) + { + $this->_create_table_if = FALSE; + $this->_drop_table_if = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Create database + * + * @param string $db_name + * @return bool + */ + public function create_database($db_name) + { + // In SQLite, a database is created when you connect to the database. + // We'll return TRUE so that an error isn't generated + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Drop database + * + * @param string $db_name (ignored) + * @return bool + */ + public function drop_database($db_name) + { + // In SQLite, a database is dropped when we delete a file + if (file_exists($this->db->database)) + { + // We need to close the pseudo-connection first + $this->db->close(); + if ( ! @unlink($this->db->database)) + { + return $this->db->db_debug ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + elseif ( ! empty($this->db->data_cache['db_names'])) + { + $key = array_search(strtolower($this->db->database), array_map('strtolower', $this->db->data_cache['db_names']), TRUE); + if ($key !== FALSE) + { + unset($this->db->data_cache['db_names'][$key]); + } + } + + return TRUE; + } + + return $this->db->db_debug ? $this->db->display_error('db_unable_to_drop') : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @todo implement drop_column(), modify_column() + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if ($alter_type === 'DROP' OR $alter_type === 'CHANGE') + { + // drop_column(): + // BEGIN TRANSACTION; + // CREATE TEMPORARY TABLE t1_backup(a,b); + // INSERT INTO t1_backup SELECT a,b FROM t1; + // DROP TABLE t1; + // CREATE TABLE t1(a,b); + // INSERT INTO t1 SELECT a,b FROM t1_backup; + // DROP TABLE t1_backup; + // COMMIT; + + return FALSE; + } + + return parent::_alter_table($alter_type, $table, $field); + } + + // -------------------------------------------------------------------- + + /** + * Process column + * + * @param array $field + * @return string + */ + protected function _process_column($field) + { + return $this->db->escape_identifiers($field['name']) + .' '.$field['type'] + .$field['auto_increment'] + .$field['null'] + .$field['unique'] + .$field['default']; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + switch (strtoupper($attributes['TYPE'])) + { + case 'ENUM': + case 'SET': + $attributes['TYPE'] = 'TEXT'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['type'] = 'INTEGER PRIMARY KEY'; + $field['default'] = ''; + $field['null'] = ''; + $field['unique'] = ''; + $field['auto_increment'] = ' AUTOINCREMENT'; + + $this->primary_keys = array(); + } + } + +} diff --git a/system/database/drivers/sqlite3/sqlite3_result.php b/system/database/drivers/sqlite3/sqlite3_result.php new file mode 100644 index 0000000..a143fd7 --- /dev/null +++ b/system/database/drivers/sqlite3/sqlite3_result.php @@ -0,0 +1,194 @@ +result_id->numColumns(); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $field_names[] = $this->result_id->columnName($i); + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + static $data_types = array( + SQLITE3_INTEGER => 'integer', + SQLITE3_FLOAT => 'float', + SQLITE3_TEXT => 'text', + SQLITE3_BLOB => 'blob', + SQLITE3_NULL => 'null' + ); + + $retval = array(); + for ($i = 0, $c = $this->num_fields(); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $this->result_id->columnName($i); + + $type = $this->result_id->columnType($i); + $retval[$i]->type = isset($data_types[$type]) ? $data_types[$type] : $type; + + $retval[$i]->max_length = NULL; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_object($this->result_id)) + { + $this->result_id->finalize(); + $this->result_id = NULL; + } + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return $this->result_id->fetchArray(SQLITE3_ASSOC); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + // No native support for fetching rows as objects + if (($row = $this->result_id->fetchArray(SQLITE3_ASSOC)) === FALSE) + { + return FALSE; + } + elseif ($class_name === 'stdClass') + { + return (object) $row; + } + + $class_name = new $class_name(); + foreach (array_keys($row) as $key) + { + $class_name->$key = $row[$key]; + } + + return $class_name; + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * @param int $n (ignored) + * @return array + */ + public function data_seek($n = 0) + { + // Only resetting to the start of the result set is supported + return ($n > 0) ? FALSE : $this->result_id->reset(); + } + +} diff --git a/system/database/drivers/sqlite3/sqlite3_utility.php b/system/database/drivers/sqlite3/sqlite3_utility.php new file mode 100644 index 0000000..c829c1f --- /dev/null +++ b/system/database/drivers/sqlite3/sqlite3_utility.php @@ -0,0 +1,61 @@ +db->display_error('db_unsupported_feature'); + } + +} diff --git a/system/database/drivers/sqlsrv/index.html b/system/database/drivers/sqlsrv/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/drivers/sqlsrv/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/database/drivers/sqlsrv/sqlsrv_driver.php b/system/database/drivers/sqlsrv/sqlsrv_driver.php new file mode 100644 index 0000000..05d35a4 --- /dev/null +++ b/system/database/drivers/sqlsrv/sqlsrv_driver.php @@ -0,0 +1,543 @@ +scrollable === NULL) + { + $this->scrollable = defined('SQLSRV_CURSOR_CLIENT_BUFFERED') + ? SQLSRV_CURSOR_CLIENT_BUFFERED + : FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Database connection + * + * @param bool $pooling + * @return resource + */ + public function db_connect($pooling = FALSE) + { + $charset = in_array(strtolower($this->char_set), array('utf-8', 'utf8'), TRUE) + ? 'UTF-8' : SQLSRV_ENC_CHAR; + + $connection = array( + 'UID' => empty($this->username) ? '' : $this->username, + 'PWD' => empty($this->password) ? '' : $this->password, + 'Database' => $this->database, + 'ConnectionPooling' => ($pooling === TRUE) ? 1 : 0, + 'CharacterSet' => $charset, + 'Encrypt' => ($this->encrypt === TRUE) ? 1 : 0, + 'ReturnDatesAsStrings' => 1 + ); + + // If the username and password are both empty, assume this is a + // 'Windows Authentication Mode' connection. + if (empty($connection['UID']) && empty($connection['PWD'])) + { + unset($connection['UID'], $connection['PWD']); + } + + if (FALSE !== ($this->conn_id = sqlsrv_connect($this->hostname, $connection))) + { + // Determine how identifiers are escaped + $query = $this->query('SELECT CASE WHEN (@@OPTIONS | 256) = @@OPTIONS THEN 1 ELSE 0 END AS qi'); + $query = $query->row_array(); + $this->_quoted_identifier = empty($query) ? FALSE : (bool) $query['qi']; + $this->_escape_char = ($this->_quoted_identifier) ? '"' : array('[', ']'); + } + + return $this->conn_id; + } + + // -------------------------------------------------------------------- + + /** + * Select the database + * + * @param string $database + * @return bool + */ + public function db_select($database = '') + { + if ($database === '') + { + $database = $this->database; + } + + if ($this->_execute('USE '.$this->escape_identifiers($database))) + { + $this->database = $database; + $this->data_cache = array(); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Execute the query + * + * @param string $sql an SQL query + * @return resource + */ + protected function _execute($sql) + { + return ($this->scrollable === FALSE OR $this->is_write_type($sql)) + ? sqlsrv_query($this->conn_id, $sql) + : sqlsrv_query($this->conn_id, $sql, NULL, array('Scrollable' => $this->scrollable)); + } + + // -------------------------------------------------------------------- + + /** + * Begin Transaction + * + * @return bool + */ + protected function _trans_begin() + { + return sqlsrv_begin_transaction($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Commit Transaction + * + * @return bool + */ + protected function _trans_commit() + { + return sqlsrv_commit($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Rollback Transaction + * + * @return bool + */ + protected function _trans_rollback() + { + return sqlsrv_rollback($this->conn_id); + } + + // -------------------------------------------------------------------- + + /** + * Affected Rows + * + * @return int + */ + public function affected_rows() + { + return sqlsrv_rows_affected($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Insert ID + * + * Returns the last id created in the Identity column. + * + * @return string + */ + public function insert_id() + { + return $this->query('SELECT SCOPE_IDENTITY() AS insert_id')->row()->insert_id; + } + + // -------------------------------------------------------------------- + + /** + * Database version number + * + * @return string + */ + public function version() + { + if (isset($this->data_cache['version'])) + { + return $this->data_cache['version']; + } + + if ( ! $this->conn_id OR ($info = sqlsrv_server_info($this->conn_id)) === FALSE) + { + return FALSE; + } + + return $this->data_cache['version'] = $info['SQLServerVersion']; + } + + // -------------------------------------------------------------------- + + /** + * List table query + * + * Generates a platform-specific query string so that the table names can be fetched + * + * @param bool + * @return string $prefix_limit + */ + protected function _list_tables($prefix_limit = FALSE) + { + $sql = 'SELECT '.$this->escape_identifiers('name') + .' FROM '.$this->escape_identifiers('sysobjects') + .' WHERE '.$this->escape_identifiers('type')." = 'U'"; + + if ($prefix_limit === TRUE && $this->dbprefix !== '') + { + $sql .= ' AND '.$this->escape_identifiers('name')." LIKE '".$this->escape_like_str($this->dbprefix)."%' " + .sprintf($this->_escape_like_str, $this->_escape_like_chr); + } + + return $sql.' ORDER BY '.$this->escape_identifiers('name'); + } + + // -------------------------------------------------------------------- + + /** + * List column query + * + * Generates a platform-specific query string so that the column names can be fetched + * + * @param string $table + * @return string + */ + protected function _list_columns($table = '') + { + return 'SELECT COLUMN_NAME + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + } + + // -------------------------------------------------------------------- + + /** + * Returns an object with field data + * + * @param string $table + * @return array + */ + public function field_data($table) + { + $sql = 'SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, COLUMN_DEFAULT + FROM INFORMATION_SCHEMA.Columns + WHERE UPPER(TABLE_NAME) = '.$this->escape(strtoupper($table)); + + if (($query = $this->query($sql)) === FALSE) + { + return FALSE; + } + $query = $query->result_object(); + + $retval = array(); + for ($i = 0, $c = count($query); $i < $c; $i++) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $query[$i]->COLUMN_NAME; + $retval[$i]->type = $query[$i]->DATA_TYPE; + $retval[$i]->max_length = ($query[$i]->CHARACTER_MAXIMUM_LENGTH > 0) ? $query[$i]->CHARACTER_MAXIMUM_LENGTH : $query[$i]->NUMERIC_PRECISION; + $retval[$i]->default = $query[$i]->COLUMN_DEFAULT; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Error + * + * Returns an array containing code and message of the last + * database error that has occurred. + * + * @return array + */ + public function error() + { + $error = array('code' => '00000', 'message' => ''); + $sqlsrv_errors = sqlsrv_errors(SQLSRV_ERR_ERRORS); + + if ( ! is_array($sqlsrv_errors)) + { + return $error; + } + + $sqlsrv_error = array_shift($sqlsrv_errors); + if (isset($sqlsrv_error['SQLSTATE'])) + { + $error['code'] = isset($sqlsrv_error['code']) ? $sqlsrv_error['SQLSTATE'].'/'.$sqlsrv_error['code'] : $sqlsrv_error['SQLSTATE']; + } + elseif (isset($sqlsrv_error['code'])) + { + $error['code'] = $sqlsrv_error['code']; + } + + if (isset($sqlsrv_error['message'])) + { + $error['message'] = $sqlsrv_error['message']; + } + + return $error; + } + + // -------------------------------------------------------------------- + + /** + * Update statement + * + * Generates a platform-specific update string from the supplied data + * + * @param string $table + * @param array $values + * @return string + */ + protected function _update($table, $values) + { + $this->qb_limit = FALSE; + $this->qb_orderby = array(); + return parent::_update($table, $values); + } + + // -------------------------------------------------------------------- + + /** + * Truncate statement + * + * Generates a platform-specific truncate string from the supplied data + * + * If the database does not support the TRUNCATE statement, + * then this method maps to 'DELETE FROM table' + * + * @param string $table + * @return string + */ + protected function _truncate($table) + { + return 'TRUNCATE TABLE '.$table; + } + + // -------------------------------------------------------------------- + + /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string $table + * @return string + */ + protected function _delete($table) + { + if ($this->qb_limit) + { + return 'WITH ci_delete AS (SELECT TOP '.$this->qb_limit.' * FROM '.$table.$this->_compile_wh('qb_where').') DELETE FROM ci_delete'; + } + + return parent::_delete($table); + } + + // -------------------------------------------------------------------- + + /** + * LIMIT + * + * Generates a platform-specific LIMIT clause + * + * @param string $sql SQL Query + * @return string + */ + protected function _limit($sql) + { + // As of SQL Server 2012 (11.0.*) OFFSET is supported + if (version_compare($this->version(), '11', '>=')) + { + // SQL Server OFFSET-FETCH can be used only with the ORDER BY clause + empty($this->qb_orderby) && $sql .= ' ORDER BY 1'; + + return $sql.' OFFSET '.(int) $this->qb_offset.' ROWS FETCH NEXT '.$this->qb_limit.' ROWS ONLY'; + } + + $limit = $this->qb_offset + $this->qb_limit; + + // An ORDER BY clause is required for ROW_NUMBER() to work + if ($this->qb_offset && ! empty($this->qb_orderby)) + { + $orderby = $this->_compile_order_by(); + + // We have to strip the ORDER BY clause + $sql = trim(substr($sql, 0, strrpos($sql, $orderby))); + + // Get the fields to select from our subquery, so that we can avoid CI_rownum appearing in the actual results + if (count($this->qb_select) === 0 OR strpos(implode(',', $this->qb_select), '*') !== FALSE) + { + $select = '*'; // Inevitable + } + else + { + // Use only field names and their aliases, everything else is out of our scope. + $select = array(); + $field_regexp = ($this->_quoted_identifier) + ? '("[^\"]+")' : '(\[[^\]]+\])'; + for ($i = 0, $c = count($this->qb_select); $i < $c; $i++) + { + $select[] = preg_match('/(?:\s|\.)'.$field_regexp.'$/i', $this->qb_select[$i], $m) + ? $m[1] : $this->qb_select[$i]; + } + $select = implode(', ', $select); + } + + return 'SELECT '.$select." FROM (\n\n" + .preg_replace('/^(SELECT( DISTINCT)?)/i', '\\1 ROW_NUMBER() OVER('.trim($orderby).') AS '.$this->escape_identifiers('CI_rownum').', ', $sql) + ."\n\n) ".$this->escape_identifiers('CI_subquery') + ."\nWHERE ".$this->escape_identifiers('CI_rownum').' BETWEEN '.($this->qb_offset + 1).' AND '.$limit; + } + + return preg_replace('/(^\SELECT (DISTINCT)?)/i','\\1 TOP '.$limit.' ', $sql); + } + + // -------------------------------------------------------------------- + + /** + * Insert batch statement + * + * Generates a platform-specific insert string from the supplied data. + * + * @param string $table Table name + * @param array $keys INSERT keys + * @param array $values INSERT values + * @return string|bool + */ + protected function _insert_batch($table, $keys, $values) + { + // Multiple-value inserts are only supported as of SQL Server 2008 + if (version_compare($this->version(), '10', '>=')) + { + return parent::_insert_batch($table, $keys, $values); + } + + return ($this->db_debug) ? $this->display_error('db_unsupported_feature') : FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Close DB Connection + * + * @return void + */ + protected function _close() + { + sqlsrv_close($this->conn_id); + } + +} diff --git a/system/database/drivers/sqlsrv/sqlsrv_forge.php b/system/database/drivers/sqlsrv/sqlsrv_forge.php new file mode 100644 index 0000000..01547e8 --- /dev/null +++ b/system/database/drivers/sqlsrv/sqlsrv_forge.php @@ -0,0 +1,149 @@ + 'SMALLINT', + 'SMALLINT' => 'INT', + 'INT' => 'BIGINT', + 'REAL' => 'FLOAT' + ); + + // -------------------------------------------------------------------- + + /** + * ALTER TABLE + * + * @param string $alter_type ALTER type + * @param string $table Table name + * @param mixed $field Column definition + * @return string|string[] + */ + protected function _alter_table($alter_type, $table, $field) + { + if (in_array($alter_type, array('ADD', 'DROP'), TRUE)) + { + return parent::_alter_table($alter_type, $table, $field); + } + + $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN '; + $sqls = array(); + for ($i = 0, $c = count($field); $i < $c; $i++) + { + $sqls[] = $sql.$this->_process_column($field[$i]); + } + + return $sqls; + } + + // -------------------------------------------------------------------- + + /** + * Field attribute TYPE + * + * Performs a data type mapping between different databases. + * + * @param array &$attributes + * @return void + */ + protected function _attr_type(&$attributes) + { + if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE) + { + unset($attributes['CONSTRAINT']); + } + + switch (strtoupper($attributes['TYPE'])) + { + case 'MEDIUMINT': + $attributes['TYPE'] = 'INTEGER'; + $attributes['UNSIGNED'] = FALSE; + return; + case 'INTEGER': + $attributes['TYPE'] = 'INT'; + return; + default: return; + } + } + + // -------------------------------------------------------------------- + + /** + * Field attribute AUTO_INCREMENT + * + * @param array &$attributes + * @param array &$field + * @return void + */ + protected function _attr_auto_increment(&$attributes, &$field) + { + if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE) + { + $field['auto_increment'] = ' IDENTITY(1,1)'; + } + } + +} diff --git a/system/database/drivers/sqlsrv/sqlsrv_result.php b/system/database/drivers/sqlsrv/sqlsrv_result.php new file mode 100644 index 0000000..1d0272f --- /dev/null +++ b/system/database/drivers/sqlsrv/sqlsrv_result.php @@ -0,0 +1,193 @@ +scrollable = $driver_object->scrollable; + } + + // -------------------------------------------------------------------- + + /** + * Number of rows in the result set + * + * @return int + */ + public function num_rows() + { + // sqlsrv_num_rows() doesn't work with the FORWARD and DYNAMIC cursors (FALSE is the same as FORWARD) + if ( ! in_array($this->scrollable, array(FALSE, SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_DYNAMIC), TRUE)) + { + return parent::num_rows(); + } + + return is_int($this->num_rows) + ? $this->num_rows + : $this->num_rows = sqlsrv_num_rows($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * @return int + */ + public function num_fields() + { + return @sqlsrv_num_fields($this->result_id); + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names + * + * @return array + */ + public function list_fields() + { + $field_names = array(); + foreach (sqlsrv_field_metadata($this->result_id) as $offset => $field) + { + $field_names[] = $field['Name']; + } + + return $field_names; + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data + * + * @return array + */ + public function field_data() + { + $retval = array(); + foreach (sqlsrv_field_metadata($this->result_id) as $i => $field) + { + $retval[$i] = new stdClass(); + $retval[$i]->name = $field['Name']; + $retval[$i]->type = $field['Type']; + $retval[$i]->max_length = $field['Size']; + } + + return $retval; + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * @return void + */ + public function free_result() + { + if (is_resource($this->result_id)) + { + sqlsrv_free_stmt($this->result_id); + $this->result_id = FALSE; + } + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array + * + * @return array + */ + protected function _fetch_assoc() + { + return sqlsrv_fetch_array($this->result_id, SQLSRV_FETCH_ASSOC); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return sqlsrv_fetch_object($this->result_id, $class_name); + } + +} diff --git a/system/database/drivers/sqlsrv/sqlsrv_utility.php b/system/database/drivers/sqlsrv/sqlsrv_utility.php new file mode 100644 index 0000000..001107d --- /dev/null +++ b/system/database/drivers/sqlsrv/sqlsrv_utility.php @@ -0,0 +1,77 @@ +db->display_error('db_unsupported_feature'); + } + +} diff --git a/system/database/index.html b/system/database/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/database/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/fonts/index.html b/system/fonts/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/fonts/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + diff --git a/system/fonts/texb.ttf b/system/fonts/texb.ttf new file mode 100644 index 0000000000000000000000000000000000000000..383c88b86b7c17e2e284732af48b2bfc359647ae GIT binary patch literal 143830 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 z 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 n`i '', + 'img_path' => '', + 'img_url' => '', + 'img_width' => '150', + 'img_height' => '30', + 'font_path' => '', + 'expiration' => 7200, + 'word_length' => 8, + 'font_size' => 16, + 'img_id' => '', + 'pool' => '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', + 'colors' => array( + 'background' => array(255,255,255), + 'border' => array(153,102,102), + 'text' => array(204,153,153), + 'grid' => array(255,182,182) + ) + ); + + foreach ($defaults as $key => $val) + { + if ( ! is_array($data) && empty($$key)) + { + $$key = $val; + } + else + { + $$key = isset($data[$key]) ? $data[$key] : $val; + } + } + + if ($img_path === '' OR $img_url === '' + OR ! is_dir($img_path) OR ! is_really_writable($img_path) + OR ! extension_loaded('gd')) + { + return FALSE; + } + + // ----------------------------------- + // Remove old images + // ----------------------------------- + + $now = microtime(TRUE); + + $current_dir = @opendir($img_path); + while ($filename = @readdir($current_dir)) + { + if (in_array(substr($filename, -4), array('.jpg', '.png')) + && (str_replace(array('.jpg', '.png'), '', $filename) + $expiration) < $now) + { + @unlink($img_path.$filename); + } + } + + @closedir($current_dir); + + // ----------------------------------- + // Do we have a "word" yet? + // ----------------------------------- + + if (empty($word)) + { + $word = ''; + $pool_length = strlen($pool); + $rand_max = $pool_length - 1; + + // PHP7 or a suitable polyfill + if (function_exists('random_int')) + { + try + { + for ($i = 0; $i < $word_length; $i++) + { + $word .= $pool[random_int(0, $rand_max)]; + } + } + catch (Exception $e) + { + // This means fallback to the next possible + // alternative to random_int() + $word = ''; + } + } + } + + if (empty($word)) + { + // Nobody will have a larger character pool than + // 256 characters, but let's handle it just in case ... + // + // No, I do not care that the fallback to mt_rand() can + // handle it; if you trigger this, you're very obviously + // trying to break it. -- Narf + if ($pool_length > 256) + { + return FALSE; + } + + // We'll try using the operating system's PRNG first, + // which we can access through CI_Security::get_random_bytes() + $security = get_instance()->security; + + // To avoid numerous get_random_bytes() calls, we'll + // just try fetching as much bytes as we need at once. + if (($bytes = $security->get_random_bytes($pool_length)) !== FALSE) + { + $byte_index = $word_index = 0; + while ($word_index < $word_length) + { + // Do we have more random data to use? + // It could be exhausted by previous iterations + // ignoring bytes higher than $rand_max. + if ($byte_index === $pool_length) + { + // No failures should be possible if the + // first get_random_bytes() call didn't + // return FALSE, but still ... + for ($i = 0; $i < 5; $i++) + { + if (($bytes = $security->get_random_bytes($pool_length)) === FALSE) + { + continue; + } + + $byte_index = 0; + break; + } + + if ($bytes === FALSE) + { + // Sadly, this means fallback to mt_rand() + $word = ''; + break; + } + } + + list(, $rand_index) = unpack('C', $bytes[$byte_index++]); + if ($rand_index > $rand_max) + { + continue; + } + + $word .= $pool[$rand_index]; + $word_index++; + } + } + } + + if (empty($word)) + { + for ($i = 0; $i < $word_length; $i++) + { + $word .= $pool[mt_rand(0, $rand_max)]; + } + } + elseif ( ! is_string($word)) + { + $word = (string) $word; + } + + // ----------------------------------- + // Determine angle and position + // ----------------------------------- + $length = strlen($word); + $angle = ($length >= 6) ? mt_rand(-($length-6), ($length-6)) : 0; + $x_axis = mt_rand(6, (360/$length)-16); + $y_axis = ($angle >= 0) ? mt_rand($img_height, $img_width) : mt_rand(6, $img_height); + + // Create image + // PHP.net recommends imagecreatetruecolor(), but it isn't always available + $im = function_exists('imagecreatetruecolor') + ? imagecreatetruecolor($img_width, $img_height) + : imagecreate($img_width, $img_height); + + // ----------------------------------- + // Assign colors + // ---------------------------------- + + is_array($colors) OR $colors = $defaults['colors']; + + foreach (array_keys($defaults['colors']) as $key) + { + // Check for a possible missing value + is_array($colors[$key]) OR $colors[$key] = $defaults['colors'][$key]; + $colors[$key] = imagecolorallocate($im, $colors[$key][0], $colors[$key][1], $colors[$key][2]); + } + + // Create the rectangle + ImageFilledRectangle($im, 0, 0, $img_width, $img_height, $colors['background']); + + // ----------------------------------- + // Create the spiral pattern + // ----------------------------------- + $theta = 1; + $thetac = 7; + $radius = 16; + $circles = 20; + $points = 32; + + for ($i = 0, $cp = ($circles * $points) - 1; $i < $cp; $i++) + { + $theta += $thetac; + $rad = $radius * ($i / $points); + $x = ($rad * cos($theta)) + $x_axis; + $y = ($rad * sin($theta)) + $y_axis; + $theta += $thetac; + $rad1 = $radius * (($i + 1) / $points); + $x1 = ($rad1 * cos($theta)) + $x_axis; + $y1 = ($rad1 * sin($theta)) + $y_axis; + imageline($im, $x, $y, $x1, $y1, $colors['grid']); + $theta -= $thetac; + } + + // ----------------------------------- + // Write the text + // ----------------------------------- + + $use_font = ($font_path !== '' && file_exists($font_path) && function_exists('imagettftext')); + if ($use_font === FALSE) + { + ($font_size > 5) && $font_size = 5; + $x = mt_rand(0, $img_width / ($length / 3)); + $y = 0; + } + else + { + ($font_size > 30) && $font_size = 30; + $x = mt_rand(0, $img_width / ($length / 1.5)); + $y = $font_size + 2; + } + + for ($i = 0; $i < $length; $i++) + { + if ($use_font === FALSE) + { + $y = mt_rand(0 , $img_height / 2); + imagestring($im, $font_size, $x, $y, $word[$i], $colors['text']); + $x += ($font_size * 2); + } + else + { + $y = mt_rand($img_height / 2, $img_height - 3); + imagettftext($im, $font_size, $angle, $x, $y, $colors['text'], $font_path, $word[$i]); + $x += $font_size; + } + } + + // Create the border + imagerectangle($im, 0, 0, $img_width - 1, $img_height - 1, $colors['border']); + + // ----------------------------------- + // Generate the image + // ----------------------------------- + $img_url = rtrim($img_url, '/').'/'; + + if (function_exists('imagejpeg')) + { + $img_filename = $now.'.jpg'; + imagejpeg($im, $img_path.$img_filename); + } + elseif (function_exists('imagepng')) + { + $img_filename = $now.'.png'; + imagepng($im, $img_path.$img_filename); + } + else + { + return FALSE; + } + + $img = ' '; + ImageDestroy($im); + + return array('word' => $word, 'time' => $now, 'image' => $img, 'filename' => $img_filename); + } +} diff --git a/system/helpers/cookie_helper.php b/system/helpers/cookie_helper.php new file mode 100644 index 0000000..eccd2f3 --- /dev/null +++ b/system/helpers/cookie_helper.php @@ -0,0 +1,113 @@ +input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure, $httponly); + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('get_cookie')) +{ + /** + * Fetch an item from the COOKIE array + * + * @param string + * @param bool + * @return mixed + */ + function get_cookie($index, $xss_clean = NULL) + { + is_bool($xss_clean) OR $xss_clean = (config_item('global_xss_filtering') === TRUE); + $prefix = isset($_COOKIE[$index]) ? '' : config_item('cookie_prefix'); + return get_instance()->input->cookie($prefix.$index, $xss_clean); + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('delete_cookie')) +{ + /** + * Delete a COOKIE + * + * @param mixed + * @param string the cookie domain. Usually: .yourdomain.com + * @param string the cookie path + * @param string the cookie prefix + * @return void + */ + function delete_cookie($name, $domain = '', $path = '/', $prefix = '') + { + set_cookie($name, '', '', $domain, $path, $prefix); + } +} diff --git a/system/helpers/date_helper.php b/system/helpers/date_helper.php new file mode 100644 index 0000000..eca1fc0 --- /dev/null +++ b/system/helpers/date_helper.php @@ -0,0 +1,742 @@ +format('j-n-Y G:i:s'), '%d-%d-%d %d:%d:%d', $day, $month, $year, $hour, $minute, $second); + + return mktime($hour, $minute, $second, $month, $day, $year); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('mdate')) +{ + /** + * Convert MySQL Style Datecodes + * + * This function is identical to PHPs date() function, + * except that it allows date codes to be formatted using + * the MySQL style, where each code letter is preceded + * with a percent sign: %Y %m %d etc... + * + * The benefit of doing dates this way is that you don't + * have to worry about escaping your text letters that + * match the date codes. + * + * @param string + * @param int + * @return int + */ + function mdate($datestr = '', $time = '') + { + if ($datestr === '') + { + return ''; + } + elseif (empty($time)) + { + $time = now(); + } + + $datestr = str_replace( + '%\\', + '', + preg_replace('/([a-z]+?){1}/i', '\\\\\\1', $datestr) + ); + + return date($datestr, $time); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('standard_date')) +{ + /** + * Standard Date + * + * Returns a date formatted according to the submitted standard. + * + * As of PHP 5.2, the DateTime extension provides constants that + * serve for the exact same purpose and are used with date(). + * + * @todo Remove in version 3.1+. + * @deprecated 3.0.0 Use PHP's native date() instead. + * @link http://www.php.net/manual/en/class.datetime.php#datetime.constants.types + * + * @example date(DATE_RFC822, now()); // default + * @example date(DATE_W3C, $time); // a different format and time + * + * @param string $fmt = 'DATE_RFC822' the chosen format + * @param int $time = NULL Unix timestamp + * @return string + */ + function standard_date($fmt = 'DATE_RFC822', $time = NULL) + { + if (empty($time)) + { + $time = now(); + } + + // Procedural style pre-defined constants from the DateTime extension + if (strpos($fmt, 'DATE_') !== 0 OR defined($fmt) === FALSE) + { + return FALSE; + } + + return date(constant($fmt), $time); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('timespan')) +{ + /** + * Timespan + * + * Returns a span of seconds in this format: + * 10 days 14 hours 36 minutes 47 seconds + * + * @param int a number of seconds + * @param int Unix timestamp + * @param int a number of display units + * @return string + */ + function timespan($seconds = 1, $time = '', $units = 7) + { + $CI =& get_instance(); + $CI->lang->load('date'); + + is_numeric($seconds) OR $seconds = 1; + is_numeric($time) OR $time = time(); + is_numeric($units) OR $units = 7; + + $seconds = ($time <= $seconds) ? 1 : $time - $seconds; + + $str = array(); + $years = floor($seconds / 31557600); + + if ($years > 0) + { + $str[] = $years.' '.$CI->lang->line($years > 1 ? 'date_years' : 'date_year'); + } + + $seconds -= $years * 31557600; + $months = floor($seconds / 2629743); + + if (count($str) < $units && ($years > 0 OR $months > 0)) + { + if ($months > 0) + { + $str[] = $months.' '.$CI->lang->line($months > 1 ? 'date_months' : 'date_month'); + } + + $seconds -= $months * 2629743; + } + + $weeks = floor($seconds / 604800); + + if (count($str) < $units && ($years > 0 OR $months > 0 OR $weeks > 0)) + { + if ($weeks > 0) + { + $str[] = $weeks.' '.$CI->lang->line($weeks > 1 ? 'date_weeks' : 'date_week'); + } + + $seconds -= $weeks * 604800; + } + + $days = floor($seconds / 86400); + + if (count($str) < $units && ($months > 0 OR $weeks > 0 OR $days > 0)) + { + if ($days > 0) + { + $str[] = $days.' '.$CI->lang->line($days > 1 ? 'date_days' : 'date_day'); + } + + $seconds -= $days * 86400; + } + + $hours = floor($seconds / 3600); + + if (count($str) < $units && ($days > 0 OR $hours > 0)) + { + if ($hours > 0) + { + $str[] = $hours.' '.$CI->lang->line($hours > 1 ? 'date_hours' : 'date_hour'); + } + + $seconds -= $hours * 3600; + } + + $minutes = floor($seconds / 60); + + if (count($str) < $units && ($days > 0 OR $hours > 0 OR $minutes > 0)) + { + if ($minutes > 0) + { + $str[] = $minutes.' '.$CI->lang->line($minutes > 1 ? 'date_minutes' : 'date_minute'); + } + + $seconds -= $minutes * 60; + } + + if (count($str) === 0) + { + $str[] = $seconds.' '.$CI->lang->line($seconds > 1 ? 'date_seconds' : 'date_second'); + } + + return implode(', ', $str); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('days_in_month')) +{ + /** + * Number of days in a month + * + * Takes a month/year as input and returns the number of days + * for the given month/year. Takes leap years into consideration. + * + * @param int a numeric month + * @param int a numeric year + * @return int + */ + function days_in_month($month = 0, $year = '') + { + if ($month < 1 OR $month > 12) + { + return 0; + } + elseif ( ! is_numeric($year) OR strlen($year) !== 4) + { + $year = date('Y'); + } + + if (defined('CAL_GREGORIAN')) + { + return cal_days_in_month(CAL_GREGORIAN, $month, $year); + } + + if ($year >= 1970) + { + return (int) date('t', mktime(12, 0, 0, $month, 1, $year)); + } + + if ($month == 2) + { + if ($year % 400 === 0 OR ($year % 4 === 0 && $year % 100 !== 0)) + { + return 29; + } + } + + $days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); + return $days_in_month[$month - 1]; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('local_to_gmt')) +{ + /** + * Converts a local Unix timestamp to GMT + * + * @param int Unix timestamp + * @return int + */ + function local_to_gmt($time = '') + { + if ($time === '') + { + $time = time(); + } + + return mktime( + gmdate('G', $time), + gmdate('i', $time), + gmdate('s', $time), + gmdate('n', $time), + gmdate('j', $time), + gmdate('Y', $time) + ); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('gmt_to_local')) +{ + /** + * Converts GMT time to a localized value + * + * Takes a Unix timestamp (in GMT) as input, and returns + * at the local value based on the timezone and DST setting + * submitted + * + * @param int Unix timestamp + * @param string timezone + * @param bool whether DST is active + * @return int + */ + function gmt_to_local($time = '', $timezone = 'UTC', $dst = FALSE) + { + if ($time === '') + { + return now(); + } + + $time += timezones($timezone) * 3600; + + return ($dst === TRUE) ? $time + 3600 : $time; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('mysql_to_unix')) +{ + /** + * Converts a MySQL Timestamp to Unix + * + * @param int MySQL timestamp YYYY-MM-DD HH:MM:SS + * @return int Unix timstamp + */ + function mysql_to_unix($time = '') + { + // We'll remove certain characters for backward compatibility + // since the formatting changed with MySQL 4.1 + // YYYY-MM-DD HH:MM:SS + + $time = str_replace(array('-', ':', ' '), '', $time); + + // YYYYMMDDHHMMSS + return mktime( + substr($time, 8, 2), + substr($time, 10, 2), + substr($time, 12, 2), + substr($time, 4, 2), + substr($time, 6, 2), + substr($time, 0, 4) + ); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('unix_to_human')) +{ + /** + * Unix to "Human" + * + * Formats Unix timestamp to the following prototype: 2006-08-21 11:35 PM + * + * @param int Unix timestamp + * @param bool whether to show seconds + * @param string format: us or euro + * @return string + */ + function unix_to_human($time = '', $seconds = FALSE, $fmt = 'us') + { + $r = date('Y', $time).'-'.date('m', $time).'-'.date('d', $time).' '; + + if ($fmt === 'us') + { + $r .= date('h', $time).':'.date('i', $time); + } + else + { + $r .= date('H', $time).':'.date('i', $time); + } + + if ($seconds) + { + $r .= ':'.date('s', $time); + } + + if ($fmt === 'us') + { + return $r.' '.date('A', $time); + } + + return $r; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('human_to_unix')) +{ + /** + * Convert "human" date to GMT + * + * Reverses the above process + * + * @param string format: us or euro + * @return int + */ + function human_to_unix($datestr = '') + { + if ($datestr === '') + { + return FALSE; + } + + $datestr = preg_replace('/\040+/', ' ', trim($datestr)); + + if ( ! preg_match('/^(\d{2}|\d{4})\-[0-9]{1,2}\-[0-9]{1,2}\s[0-9]{1,2}:[0-9]{1,2}(?::[0-9]{1,2})?(?:\s[AP]M)?$/i', $datestr)) + { + return FALSE; + } + + sscanf($datestr, '%d-%d-%d %s %s', $year, $month, $day, $time, $ampm); + sscanf($time, '%d:%d:%d', $hour, $min, $sec); + isset($sec) OR $sec = 0; + + if (isset($ampm)) + { + $ampm = strtolower($ampm); + + if ($ampm[0] === 'p' && $hour < 12) + { + $hour += 12; + } + elseif ($ampm[0] === 'a' && $hour === 12) + { + $hour = 0; + } + } + + return mktime($hour, $min, $sec, $month, $day, $year); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('nice_date')) +{ + /** + * Turns many "reasonably-date-like" strings into something + * that is actually useful. This only works for dates after unix epoch. + * + * @deprecated 3.1.3 Use DateTime::createFromFormat($input_format, $input)->format($output_format); + * @param string The terribly formatted date-like string + * @param string Date format to return (same as php date function) + * @return string + */ + function nice_date($bad_date = '', $format = FALSE) + { + if (empty($bad_date)) + { + return 'Unknown'; + } + elseif (empty($format)) + { + $format = 'U'; + } + + // Date like: YYYYMM + if (preg_match('/^\d{6}$/i', $bad_date)) + { + if (in_array(substr($bad_date, 0, 2), array('19', '20'))) + { + $year = substr($bad_date, 0, 4); + $month = substr($bad_date, 4, 2); + } + else + { + $month = substr($bad_date, 0, 2); + $year = substr($bad_date, 2, 4); + } + + return date($format, strtotime($year.'-'.$month.'-01')); + } + + // Date Like: YYYYMMDD + if (preg_match('/^\d{8}$/i', $bad_date, $matches)) + { + return DateTime::createFromFormat('Ymd', $bad_date)->format($format); + } + + // Date Like: MM-DD-YYYY __or__ M-D-YYYY (or anything in between) + if (preg_match('/^(\d{1,2})-(\d{1,2})-(\d{4})$/i', $bad_date, $matches)) + { + return date($format, strtotime($matches[3].'-'.$matches[1].'-'.$matches[2])); + } + + // Any other kind of string, when converted into UNIX time, + // produces "0 seconds after epoc..." is probably bad... + // return "Invalid Date". + if (date('U', strtotime($bad_date)) === '0') + { + return 'Invalid Date'; + } + + // It's probably a valid-ish date format already + return date($format, strtotime($bad_date)); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('timezone_menu')) +{ + /** + * Timezone Menu + * + * Generates a drop-down menu of timezones. + * + * @param string timezone + * @param string classname + * @param string menu name + * @param mixed attributes + * @return string + */ + function timezone_menu($default = 'UTC', $class = '', $name = 'timezones', $attributes = '') + { + $CI =& get_instance(); + $CI->lang->load('date'); + + $default = ($default === 'GMT') ? 'UTC' : $default; + + $menu = ''; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('timezones')) +{ + /** + * Timezones + * + * Returns an array of timezones. This is a helper function + * for various other ones in this library + * + * @param string timezone + * @return string + */ + function timezones($tz = '') + { + // Note: Don't change the order of these even though + // some items appear to be in the wrong order + + $zones = array( + 'UM12' => -12, + 'UM11' => -11, + 'UM10' => -10, + 'UM95' => -9.5, + 'UM9' => -9, + 'UM8' => -8, + 'UM7' => -7, + 'UM6' => -6, + 'UM5' => -5, + 'UM45' => -4.5, + 'UM4' => -4, + 'UM35' => -3.5, + 'UM3' => -3, + 'UM2' => -2, + 'UM1' => -1, + 'UTC' => 0, + 'UP1' => +1, + 'UP2' => +2, + 'UP3' => +3, + 'UP35' => +3.5, + 'UP4' => +4, + 'UP45' => +4.5, + 'UP5' => +5, + 'UP55' => +5.5, + 'UP575' => +5.75, + 'UP6' => +6, + 'UP65' => +6.5, + 'UP7' => +7, + 'UP8' => +8, + 'UP875' => +8.75, + 'UP9' => +9, + 'UP95' => +9.5, + 'UP10' => +10, + 'UP105' => +10.5, + 'UP11' => +11, + 'UP115' => +11.5, + 'UP12' => +12, + 'UP1275' => +12.75, + 'UP13' => +13, + 'UP14' => +14 + ); + + if ($tz === '') + { + return $zones; + } + + return isset($zones[$tz]) ? $zones[$tz] : 0; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('date_range')) +{ + /** + * Date range + * + * Returns a list of dates within a specified period. + * + * @param int unix_start UNIX timestamp of period start date + * @param int unix_end|days UNIX timestamp of period end date + * or interval in days. + * @param mixed is_unix Specifies whether the second parameter + * is a UNIX timestamp or a day interval + * - TRUE or 'unix' for a timestamp + * - FALSE or 'days' for an interval + * @param string date_format Output date format, same as in date() + * @return array + */ + function date_range($unix_start = '', $mixed = '', $is_unix = TRUE, $format = 'Y-m-d') + { + if ($unix_start == '' OR $mixed == '' OR $format == '') + { + return FALSE; + } + + $is_unix = ! ( ! $is_unix OR $is_unix === 'days'); + + // Validate input and try strtotime() on invalid timestamps/intervals, just in case + if ( ( ! ctype_digit((string) $unix_start) && ($unix_start = @strtotime($unix_start)) === FALSE) + OR ( ! ctype_digit((string) $mixed) && ($is_unix === FALSE OR ($mixed = @strtotime($mixed)) === FALSE)) + OR ($is_unix === TRUE && $mixed < $unix_start)) + { + return FALSE; + } + + if ($is_unix && ($unix_start == $mixed OR date($format, $unix_start) === date($format, $mixed))) + { + return array(date($format, $unix_start)); + } + + $range = array(); + + $from = new DateTime(); + $from->setTimestamp($unix_start); + + if ($is_unix) + { + $arg = new DateTime(); + $arg->setTimestamp($mixed); + } + else + { + $arg = (int) $mixed; + } + + $period = new DatePeriod($from, new DateInterval('P1D'), $arg); + foreach ($period as $date) + { + $range[] = $date->format($format); + } + + /* If a period end date was passed to the DatePeriod constructor, it might not + * be in our results. Not sure if this is a bug or it's just possible because + * the end date might actually be less than 24 hours away from the previously + * generated DateTime object, but either way - we have to append it manually. + */ + if ( ! is_int($arg) && $range[count($range) - 1] !== $arg->format($format)) + { + $range[] = $arg->format($format); + } + + return $range; + } +} diff --git a/system/helpers/directory_helper.php b/system/helpers/directory_helper.php new file mode 100644 index 0000000..0d3f205 --- /dev/null +++ b/system/helpers/directory_helper.php @@ -0,0 +1,101 @@ + 0) && is_dir($source_dir.$file)) + { + $filedata[$file] = directory_map($source_dir.$file, $new_depth, $hidden); + } + else + { + $filedata[] = $file; + } + } + + closedir($fp); + return $filedata; + } + + return FALSE; + } +} diff --git a/system/helpers/download_helper.php b/system/helpers/download_helper.php new file mode 100644 index 0000000..a9bea94 --- /dev/null +++ b/system/helpers/download_helper.php @@ -0,0 +1,158 @@ + 0) + ? @rmdir($path) + : TRUE; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('get_filenames')) +{ + /** + * Get Filenames + * + * Reads the specified directory and builds an array containing the filenames. + * Any sub-folders contained within the specified path are read as well. + * + * @param string path to source + * @param bool whether to include the path as part of the filename + * @param bool internal variable to determine recursion status - do not use in calls + * @return array + */ + function get_filenames($source_dir, $include_path = FALSE, $_recursion = FALSE) + { + static $_filedata = array(); + + if ($fp = @opendir($source_dir)) + { + // reset the array and make sure $source_dir has a trailing slash on the initial call + if ($_recursion === FALSE) + { + $_filedata = array(); + $source_dir = rtrim(realpath($source_dir), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR; + } + + while (FALSE !== ($file = readdir($fp))) + { + if (is_dir($source_dir.$file) && $file[0] !== '.') + { + get_filenames($source_dir.$file.DIRECTORY_SEPARATOR, $include_path, TRUE); + } + elseif ($file[0] !== '.') + { + $_filedata[] = ($include_path === TRUE) ? $source_dir.$file : $file; + } + } + + closedir($fp); + return $_filedata; + } + + return FALSE; + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('get_dir_file_info')) +{ + /** + * Get Directory File Information + * + * Reads the specified directory and builds an array containing the filenames, + * filesize, dates, and permissions + * + * Any sub-folders contained within the specified path are read as well. + * + * @param string path to source + * @param bool Look only at the top level directory specified? + * @param bool internal variable to determine recursion status - do not use in calls + * @return array + */ + function get_dir_file_info($source_dir, $top_level_only = TRUE, $_recursion = FALSE) + { + static $_filedata = array(); + $relative_path = $source_dir; + + if ($fp = @opendir($source_dir)) + { + // reset the array and make sure $source_dir has a trailing slash on the initial call + if ($_recursion === FALSE) + { + $_filedata = array(); + $source_dir = rtrim(realpath($source_dir), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR; + } + + // Used to be foreach (scandir($source_dir, 1) as $file), but scandir() is simply not as fast + while (FALSE !== ($file = readdir($fp))) + { + if (is_dir($source_dir.$file) && $file[0] !== '.' && $top_level_only === FALSE) + { + get_dir_file_info($source_dir.$file.DIRECTORY_SEPARATOR, $top_level_only, TRUE); + } + elseif ($file[0] !== '.') + { + $_filedata[$file] = get_file_info($source_dir.$file); + $_filedata[$file]['relative_path'] = $relative_path; + } + } + + closedir($fp); + return $_filedata; + } + + return FALSE; + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('get_file_info')) +{ + /** + * Get File Info + * + * Given a file and path, returns the name, path, size, date modified + * Second parameter allows you to explicitly declare what information you want returned + * Options are: name, server_path, size, date, readable, writable, executable, fileperms + * Returns FALSE if the file cannot be found. + * + * @param string path to file + * @param mixed array or comma separated string of information returned + * @return array + */ + function get_file_info($file, $returned_values = array('name', 'server_path', 'size', 'date')) + { + if ( ! file_exists($file)) + { + return FALSE; + } + + if (is_string($returned_values)) + { + $returned_values = explode(',', $returned_values); + } + + foreach ($returned_values as $key) + { + switch ($key) + { + case 'name': + $fileinfo['name'] = basename($file); + break; + case 'server_path': + $fileinfo['server_path'] = $file; + break; + case 'size': + $fileinfo['size'] = filesize($file); + break; + case 'date': + $fileinfo['date'] = filemtime($file); + break; + case 'readable': + $fileinfo['readable'] = is_readable($file); + break; + case 'writable': + $fileinfo['writable'] = is_really_writable($file); + break; + case 'executable': + $fileinfo['executable'] = is_executable($file); + break; + case 'fileperms': + $fileinfo['fileperms'] = fileperms($file); + break; + } + } + + return $fileinfo; + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('get_mime_by_extension')) +{ + /** + * Get Mime by Extension + * + * Translates a file extension into a mime type based on config/mimes.php. + * Returns FALSE if it can't determine the type, or open the mime config file + * + * Note: this is NOT an accurate way of determining file mime types, and is here strictly as a convenience + * It should NOT be trusted, and should certainly NOT be used for security + * + * @param string $filename File name + * @return string + */ + function get_mime_by_extension($filename) + { + static $mimes; + + if ( ! is_array($mimes)) + { + $mimes = get_mimes(); + + if (empty($mimes)) + { + return FALSE; + } + } + + $extension = strtolower(substr(strrchr($filename, '.'), 1)); + + if (isset($mimes[$extension])) + { + return is_array($mimes[$extension]) + ? current($mimes[$extension]) // Multiple mime types, just give the first one + : $mimes[$extension]; + } + + return FALSE; + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('symbolic_permissions')) +{ + /** + * Symbolic Permissions + * + * Takes a numeric value representing a file's permissions and returns + * standard symbolic notation representing that value + * + * @param int $perms Permissions + * @return string + */ + function symbolic_permissions($perms) + { + if (($perms & 0xC000) === 0xC000) + { + $symbolic = 's'; // Socket + } + elseif (($perms & 0xA000) === 0xA000) + { + $symbolic = 'l'; // Symbolic Link + } + elseif (($perms & 0x8000) === 0x8000) + { + $symbolic = '-'; // Regular + } + elseif (($perms & 0x6000) === 0x6000) + { + $symbolic = 'b'; // Block special + } + elseif (($perms & 0x4000) === 0x4000) + { + $symbolic = 'd'; // Directory + } + elseif (($perms & 0x2000) === 0x2000) + { + $symbolic = 'c'; // Character special + } + elseif (($perms & 0x1000) === 0x1000) + { + $symbolic = 'p'; // FIFO pipe + } + else + { + $symbolic = 'u'; // Unknown + } + + // Owner + $symbolic .= (($perms & 0x0100) ? 'r' : '-') + .(($perms & 0x0080) ? 'w' : '-') + .(($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); + + // Group + $symbolic .= (($perms & 0x0020) ? 'r' : '-') + .(($perms & 0x0010) ? 'w' : '-') + .(($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); + + // World + $symbolic .= (($perms & 0x0004) ? 'r' : '-') + .(($perms & 0x0002) ? 'w' : '-') + .(($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); + + return $symbolic; + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('octal_permissions')) +{ + /** + * Octal Permissions + * + * Takes a numeric value representing a file's permissions and returns + * a three character string representing the file's octal permissions + * + * @param int $perms Permissions + * @return string + */ + function octal_permissions($perms) + { + return substr(sprintf('%o', $perms), -3); + } +} diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php new file mode 100644 index 0000000..8746045 --- /dev/null +++ b/system/helpers/form_helper.php @@ -0,0 +1,1055 @@ +config->site_url($CI->uri->uri_string()); + } + // If an action is not a full URL then turn it into one + elseif (strpos($action, '://') === FALSE) + { + $action = $CI->config->site_url($action); + } + + $attributes = _attributes_to_string($attributes); + + if (stripos($attributes, 'method=') === FALSE) + { + $attributes .= ' method="post"'; + } + + if (stripos($attributes, 'accept-charset=') === FALSE) + { + $attributes .= ' accept-charset="'.strtolower(config_item('charset')).'"'; + } + + $form = '
    \n"; + + if (is_array($hidden)) + { + foreach ($hidden as $name => $value) + { + $form .= ''."\n"; + } + } + + // Add CSRF field if enabled, but leave it out for GET requests and requests to external websites + if ($CI->config->item('csrf_protection') === TRUE && strpos($action, $CI->config->base_url()) !== FALSE && ! stripos($form, 'method="get"')) + { + // Prepend/append random-length "white noise" around the CSRF + // token input, as a form of protection against BREACH attacks + if (FALSE !== ($noise = $CI->security->get_random_bytes(1))) + { + list(, $noise) = unpack('c', $noise); + } + else + { + $noise = mt_rand(-128, 127); + } + + // Prepend if $noise has a negative value, append if positive, do nothing for zero + $prepend = $append = ''; + if ($noise < 0) + { + $prepend = str_repeat(" ", abs($noise)); + } + elseif ($noise > 0) + { + $append = str_repeat(" ", $noise); + } + + $form .= sprintf( + '%s%s%s', + $prepend, + $CI->security->get_csrf_token_name(), + $CI->security->get_csrf_hash(), + $append, + "\n" + ); + } + + return $form; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_open_multipart')) +{ + /** + * Form Declaration - Multipart type + * + * Creates the opening portion of the form, but with "multipart/form-data". + * + * @param string the URI segments of the form destination + * @param array a key/value pair of attributes + * @param array a key/value pair hidden data + * @return string + */ + function form_open_multipart($action = '', $attributes = array(), $hidden = array()) + { + if (is_string($attributes)) + { + $attributes .= ' enctype="multipart/form-data"'; + } + else + { + $attributes['enctype'] = 'multipart/form-data'; + } + + return form_open($action, $attributes, $hidden); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_hidden')) +{ + /** + * Hidden Input Field + * + * Generates hidden fields. You can pass a simple key/value string or + * an associative array with multiple values. + * + * @param mixed $name Field name + * @param string $value Field value + * @param bool $recursing + * @return string + */ + function form_hidden($name, $value = '', $recursing = FALSE) + { + static $form; + + if ($recursing === FALSE) + { + $form = "\n"; + } + + if (is_array($name)) + { + foreach ($name as $key => $val) + { + form_hidden($key, $val, TRUE); + } + + return $form; + } + + if ( ! is_array($value)) + { + $form .= '\n"; + } + else + { + foreach ($value as $k => $v) + { + $k = is_int($k) ? '' : $k; + form_hidden($name.'['.$k.']', $v, TRUE); + } + } + + return $form; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_input')) +{ + /** + * Text Input Field + * + * @param mixed + * @param string + * @param mixed + * @return string + */ + function form_input($data = '', $value = '', $extra = '') + { + $defaults = array( + 'type' => 'text', + 'name' => is_array($data) ? '' : $data, + 'value' => $value + ); + + return '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_password')) +{ + /** + * Password Field + * + * Identical to the input function but adds the "password" type + * + * @param mixed + * @param string + * @param mixed + * @return string + */ + function form_password($data = '', $value = '', $extra = '') + { + is_array($data) OR $data = array('name' => $data); + $data['type'] = 'password'; + return form_input($data, $value, $extra); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_upload')) +{ + /** + * Upload Field + * + * Identical to the input function but adds the "file" type + * + * @param mixed + * @param string + * @param mixed + * @return string + */ + function form_upload($data = '', $value = '', $extra = '') + { + $defaults = array('type' => 'file', 'name' => ''); + is_array($data) OR $data = array('name' => $data); + $data['type'] = 'file'; + + return '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_textarea')) +{ + /** + * Textarea field + * + * @param mixed $data + * @param string $value + * @param mixed $extra + * @return string + */ + function form_textarea($data = '', $value = '', $extra = '') + { + $defaults = array( + 'name' => is_array($data) ? '' : $data, + 'cols' => '40', + 'rows' => '10' + ); + + if ( ! is_array($data) OR ! isset($data['value'])) + { + $val = $value; + } + else + { + $val = $data['value']; + unset($data['value']); // textareas don't use the value attribute + } + + return '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_multiselect')) +{ + /** + * Multi-select menu + * + * @param string + * @param array + * @param mixed + * @param mixed + * @return string + */ + function form_multiselect($name = '', $options = array(), $selected = array(), $extra = '') + { + $extra = _attributes_to_string($extra); + if (stripos($extra, 'multiple') === FALSE) + { + $extra .= ' multiple="multiple"'; + } + + return form_dropdown($name, $options, $selected, $extra); + } +} + +// -------------------------------------------------------------------- + +if ( ! function_exists('form_dropdown')) +{ + /** + * Drop-down Menu + * + * @param mixed $data + * @param mixed $options + * @param mixed $selected + * @param mixed $extra + * @return string + */ + function form_dropdown($data = '', $options = array(), $selected = array(), $extra = '') + { + $defaults = array(); + + if (is_array($data)) + { + if (isset($data['selected'])) + { + $selected = $data['selected']; + unset($data['selected']); // select tags don't have a selected attribute + } + + if (isset($data['options'])) + { + $options = $data['options']; + unset($data['options']); // select tags don't use an options attribute + } + } + else + { + $defaults = array('name' => $data); + } + + is_array($selected) OR $selected = array($selected); + is_array($options) OR $options = array($options); + + // If no selected state was submitted we will attempt to set it automatically + if (empty($selected)) + { + if (is_array($data)) + { + if (isset($data['name'], $_POST[$data['name']])) + { + $selected = array($_POST[$data['name']]); + } + } + elseif (isset($_POST[$data])) + { + $selected = array($_POST[$data]); + } + } + + $extra = _attributes_to_string($extra); + + $multiple = (count($selected) > 1 && stripos($extra, 'multiple') === FALSE) ? ' multiple="multiple"' : ''; + + $form = '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_checkbox')) +{ + /** + * Checkbox Field + * + * @param mixed + * @param string + * @param bool + * @param mixed + * @return string + */ + function form_checkbox($data = '', $value = '', $checked = FALSE, $extra = '') + { + $defaults = array('type' => 'checkbox', 'name' => ( ! is_array($data) ? $data : ''), 'value' => $value); + + if (is_array($data) && array_key_exists('checked', $data)) + { + $checked = $data['checked']; + + if ($checked == FALSE) + { + unset($data['checked']); + } + else + { + $data['checked'] = 'checked'; + } + } + + if ($checked == TRUE) + { + $defaults['checked'] = 'checked'; + } + else + { + unset($defaults['checked']); + } + + return '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_radio')) +{ + /** + * Radio Button + * + * @param mixed + * @param string + * @param bool + * @param mixed + * @return string + */ + function form_radio($data = '', $value = '', $checked = FALSE, $extra = '') + { + is_array($data) OR $data = array('name' => $data); + $data['type'] = 'radio'; + + return form_checkbox($data, $value, $checked, $extra); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_submit')) +{ + /** + * Submit Button + * + * @param mixed + * @param string + * @param mixed + * @return string + */ + function form_submit($data = '', $value = '', $extra = '') + { + $defaults = array( + 'type' => 'submit', + 'name' => is_array($data) ? '' : $data, + 'value' => $value + ); + + return '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_reset')) +{ + /** + * Reset Button + * + * @param mixed + * @param string + * @param mixed + * @return string + */ + function form_reset($data = '', $value = '', $extra = '') + { + $defaults = array( + 'type' => 'reset', + 'name' => is_array($data) ? '' : $data, + 'value' => $value + ); + + return '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_button')) +{ + /** + * Form Button + * + * @param mixed + * @param string + * @param mixed + * @return string + */ + function form_button($data = '', $content = '', $extra = '') + { + $defaults = array( + 'name' => is_array($data) ? '' : $data, + 'type' => 'button' + ); + + if (is_array($data) && isset($data['content'])) + { + $content = $data['content']; + unset($data['content']); // content is not an attribute + } + + return '\n"; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_label')) +{ + /** + * Form Label Tag + * + * @param string The text to appear onscreen + * @param string The id the label applies to + * @param mixed Additional attributes + * @return string + */ + function form_label($label_text = '', $id = '', $attributes = array()) + { + + $label = ''.$label_text.''; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_fieldset')) +{ + /** + * Fieldset Tag + * + * Used to produce
    text. To close fieldset + * use form_fieldset_close() + * + * @param string The legend text + * @param array Additional attributes + * @return string + */ + function form_fieldset($legend_text = '', $attributes = array()) + { + $fieldset = '\n"; + if ($legend_text !== '') + { + return $fieldset.''.$legend_text."\n"; + } + + return $fieldset; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_fieldset_close')) +{ + /** + * Fieldset Close Tag + * + * @param string + * @return string + */ + function form_fieldset_close($extra = '') + { + return '
    '.$extra; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_close')) +{ + /** + * Form Close Tag + * + * @param string + * @return string + */ + function form_close($extra = '') + { + return ''.$extra; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('form_prep')) +{ + /** + * Form Prep + * + * Formats text so that it can be safely placed in a form field in the event it has HTML tags. + * + * @deprecated 3.0.0 An alias for html_escape() + * @param string|string[] $str Value to escape + * @return string|string[] Escaped values + */ + function form_prep($str) + { + return html_escape($str, TRUE); + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('set_value')) +{ + /** + * Form Value + * + * Grabs a value from the POST array for the specified field so you can + * re-populate an input field or textarea. If Form Validation + * is active it retrieves the info from the validation class + * + * @param string $field Field name + * @param string $default Default value + * @param bool $html_escape Whether to escape HTML special characters or not + * @return string + */ + function set_value($field, $default = '', $html_escape = TRUE) + { + $CI =& get_instance(); + + $value = (isset($CI->form_validation) && is_object($CI->form_validation) && $CI->form_validation->has_rule($field)) + ? $CI->form_validation->set_value($field, $default) + : $CI->input->post($field, FALSE); + + isset($value) OR $value = $default; + return ($html_escape) ? html_escape($value) : $value; + } +} + +// ------------------------------------------------------------------------ + +if ( ! function_exists('set_select')) +{ + /** + * Set Select + * + * Let's you set the selected value of a
    ', + 'heading_row_start' => '', + 'heading_previous_cell' => '', + 'heading_title_cell' => '', + 'heading_next_cell' => '', + 'heading_row_end' => '', + 'week_row_start' => '', + 'week_day_cell' => '', + 'week_row_end' => '', + 'cal_row_start' => '', + 'cal_cell_start' => '', + 'cal_cell_end_today' => '', + 'cal_cell_end_other' => '', + 'cal_row_end' => '', + 'table_close' => '
    <<{heading}>>
    {week_day}
    ', + 'cal_cell_start_today' => '', + 'cal_cell_start_other' => '', + 'cal_cell_content' => '{day}', + 'cal_cell_content_today' => '{day}', + 'cal_cell_no_content' => '{day}', + 'cal_cell_no_content_today' => '{day}', + 'cal_cell_blank' => ' ', + 'cal_cell_other' => '{day}', + 'cal_cell_end' => '
    ' + ); + } + + // -------------------------------------------------------------------- + + /** + * Parse Template + * + * Harvests the data within the template {pseudo-variables} + * used to display the calendar + * + * @return CI_Calendar + */ + public function parse_template() + { + $this->replacements = $this->default_template(); + + if (empty($this->template)) + { + return $this; + } + + if (is_string($this->template)) + { + $today = array('cal_cell_start_today', 'cal_cell_content_today', 'cal_cell_no_content_today', 'cal_cell_end_today'); + + foreach (array('table_open', 'table_close', 'heading_row_start', 'heading_previous_cell', 'heading_title_cell', 'heading_next_cell', 'heading_row_end', 'week_row_start', 'week_day_cell', 'week_row_end', 'cal_row_start', 'cal_cell_start', 'cal_cell_content', 'cal_cell_no_content', 'cal_cell_blank', 'cal_cell_end', 'cal_row_end', 'cal_cell_start_today', 'cal_cell_content_today', 'cal_cell_no_content_today', 'cal_cell_end_today', 'cal_cell_start_other', 'cal_cell_other', 'cal_cell_end_other') as $val) + { + if (preg_match('/\{'.$val.'\}(.*?)\{\/'.$val.'\}/si', $this->template, $match)) + { + $this->replacements[$val] = $match[1]; + } + elseif (in_array($val, $today, TRUE)) + { + $this->replacements[$val] = $this->replacements[substr($val, 0, -6)]; + } + } + } + elseif (is_array($this->template)) + { + $this->replacements = array_merge($this->replacements, $this->template); + } + + return $this; + } + +} diff --git a/system/libraries/Cart.php b/system/libraries/Cart.php new file mode 100644 index 0000000..4c51e7a --- /dev/null +++ b/system/libraries/Cart.php @@ -0,0 +1,567 @@ +CI =& get_instance(); + + // Are any config settings being passed manually? If so, set them + $config = is_array($params) ? $params : array(); + + // Load the Sessions class + $this->CI->load->driver('session', $config); + + // Grab the shopping cart array from the session table + $this->_cart_contents = $this->CI->session->userdata('cart_contents'); + if ($this->_cart_contents === NULL) + { + // No cart exists so we'll set some base values + $this->_cart_contents = array('cart_total' => 0, 'total_items' => 0); + } + + log_message('info', 'Cart Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Insert items into the cart and save it to the session table + * + * @param array + * @return bool + */ + public function insert($items = array()) + { + // Was any cart data passed? No? Bah... + if ( ! is_array($items) OR count($items) === 0) + { + log_message('error', 'The insert method must be passed an array containing data.'); + return FALSE; + } + + // You can either insert a single product using a one-dimensional array, + // or multiple products using a multi-dimensional one. The way we + // determine the array type is by looking for a required array key named "id" + // at the top level. If it's not found, we will assume it's a multi-dimensional array. + + $save_cart = FALSE; + if (isset($items['id'])) + { + if (($rowid = $this->_insert($items))) + { + $save_cart = TRUE; + } + } + else + { + foreach ($items as $val) + { + if (is_array($val) && isset($val['id'])) + { + if ($this->_insert($val)) + { + $save_cart = TRUE; + } + } + } + } + + // Save the cart data if the insert was successful + if ($save_cart === TRUE) + { + $this->_save_cart(); + return isset($rowid) ? $rowid : TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Insert + * + * @param array + * @return bool + */ + protected function _insert($items = array()) + { + // Was any cart data passed? No? Bah... + if ( ! is_array($items) OR count($items) === 0) + { + log_message('error', 'The insert method must be passed an array containing data.'); + return FALSE; + } + + // -------------------------------------------------------------------- + + // Does the $items array contain an id, quantity, price, and name? These are required + if ( ! isset($items['id'], $items['qty'], $items['price'], $items['name'])) + { + log_message('error', 'The cart array must contain a product ID, quantity, price, and name.'); + return FALSE; + } + + // -------------------------------------------------------------------- + + // Prep the quantity. It can only be a number. Duh... also trim any leading zeros + $items['qty'] = (float) $items['qty']; + + // If the quantity is zero or blank there's nothing for us to do + if ($items['qty'] == 0) + { + return FALSE; + } + + // -------------------------------------------------------------------- + + // Validate the product ID. It can only be alpha-numeric, dashes, underscores or periods + // Not totally sure we should impose this rule, but it seems prudent to standardize IDs. + // Note: These can be user-specified by setting the $this->product_id_rules variable. + if ( ! preg_match('/^['.$this->product_id_rules.']+$/i', $items['id'])) + { + log_message('error', 'Invalid product ID. The product ID can only contain alpha-numeric characters, dashes, and underscores'); + return FALSE; + } + + // -------------------------------------------------------------------- + + // Validate the product name. It can only be alpha-numeric, dashes, underscores, colons or periods. + // Note: These can be user-specified by setting the $this->product_name_rules variable. + if ($this->product_name_safe && ! preg_match('/^['.$this->product_name_rules.']+$/i'.(UTF8_ENABLED ? 'u' : ''), $items['name'])) + { + log_message('error', 'An invalid name was submitted as the product name: '.$items['name'].' The name can only contain alpha-numeric characters, dashes, underscores, colons, and spaces'); + return FALSE; + } + + // -------------------------------------------------------------------- + + // Prep the price. Remove leading zeros and anything that isn't a number or decimal point. + $items['price'] = (float) $items['price']; + + // We now need to create a unique identifier for the item being inserted into the cart. + // Every time something is added to the cart it is stored in the master cart array. + // Each row in the cart array, however, must have a unique index that identifies not only + // a particular product, but makes it possible to store identical products with different options. + // For example, what if someone buys two identical t-shirts (same product ID), but in + // different sizes? The product ID (and other attributes, like the name) will be identical for + // both sizes because it's the same shirt. The only difference will be the size. + // Internally, we need to treat identical submissions, but with different options, as a unique product. + // Our solution is to convert the options array to a string and MD5 it along with the product ID. + // This becomes the unique "row ID" + if (isset($items['options']) && count($items['options']) > 0) + { + $rowid = md5($items['id'].serialize($items['options'])); + } + else + { + // No options were submitted so we simply MD5 the product ID. + // Technically, we don't need to MD5 the ID in this case, but it makes + // sense to standardize the format of array indexes for both conditions + $rowid = md5($items['id']); + } + + // -------------------------------------------------------------------- + + // Now that we have our unique "row ID", we'll add our cart items to the master array + // grab quantity if it's already there and add it on + $old_quantity = isset($this->_cart_contents[$rowid]['qty']) ? (int) $this->_cart_contents[$rowid]['qty'] : 0; + + // Re-create the entry, just to make sure our index contains only the data from this submission + $items['rowid'] = $rowid; + $items['qty'] += $old_quantity; + $this->_cart_contents[$rowid] = $items; + + return $rowid; + } + + // -------------------------------------------------------------------- + + /** + * Update the cart + * + * This function permits the quantity of a given item to be changed. + * Typically it is called from the "view cart" page if a user makes + * changes to the quantity before checkout. That array must contain the + * product ID and quantity for each item. + * + * @param array + * @return bool + */ + public function update($items = array()) + { + // Was any cart data passed? + if ( ! is_array($items) OR count($items) === 0) + { + return FALSE; + } + + // You can either update a single product using a one-dimensional array, + // or multiple products using a multi-dimensional one. The way we + // determine the array type is by looking for a required array key named "rowid". + // If it's not found we assume it's a multi-dimensional array + $save_cart = FALSE; + if (isset($items['rowid'])) + { + if ($this->_update($items) === TRUE) + { + $save_cart = TRUE; + } + } + else + { + foreach ($items as $val) + { + if (is_array($val) && isset($val['rowid'])) + { + if ($this->_update($val) === TRUE) + { + $save_cart = TRUE; + } + } + } + } + + // Save the cart data if the insert was successful + if ($save_cart === TRUE) + { + $this->_save_cart(); + return TRUE; + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Update the cart + * + * This function permits changing item properties. + * Typically it is called from the "view cart" page if a user makes + * changes to the quantity before checkout. That array must contain the + * rowid and quantity for each item. + * + * @param array + * @return bool + */ + protected function _update($items = array()) + { + // Without these array indexes there is nothing we can do + if ( ! isset($items['rowid'], $this->_cart_contents[$items['rowid']])) + { + return FALSE; + } + + // Prep the quantity + if (isset($items['qty'])) + { + $items['qty'] = (float) $items['qty']; + // Is the quantity zero? If so we will remove the item from the cart. + // If the quantity is greater than zero we are updating + if ($items['qty'] == 0) + { + unset($this->_cart_contents[$items['rowid']]); + return TRUE; + } + } + + // find updatable keys + $keys = array_intersect(array_keys($this->_cart_contents[$items['rowid']]), array_keys($items)); + // if a price was passed, make sure it contains valid data + if (isset($items['price'])) + { + $items['price'] = (float) $items['price']; + } + + // product id & name shouldn't be changed + foreach (array_diff($keys, array('id', 'name')) as $key) + { + $this->_cart_contents[$items['rowid']][$key] = $items[$key]; + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Save the cart array to the session DB + * + * @return bool + */ + protected function _save_cart() + { + // Let's add up the individual prices and set the cart sub-total + $this->_cart_contents['total_items'] = $this->_cart_contents['cart_total'] = 0; + foreach ($this->_cart_contents as $key => $val) + { + // We make sure the array contains the proper indexes + if ( ! is_array($val) OR ! isset($val['price'], $val['qty'])) + { + continue; + } + + $this->_cart_contents['cart_total'] += ($val['price'] * $val['qty']); + $this->_cart_contents['total_items'] += $val['qty']; + $this->_cart_contents[$key]['subtotal'] = ($this->_cart_contents[$key]['price'] * $this->_cart_contents[$key]['qty']); + } + + // Is our cart empty? If so we delete it from the session + if (count($this->_cart_contents) <= 2) + { + $this->CI->session->unset_userdata('cart_contents'); + + // Nothing more to do... coffee time! + return FALSE; + } + + // If we made it this far it means that our cart has data. + // Let's pass it to the Session class so it can be stored + $this->CI->session->set_userdata(array('cart_contents' => $this->_cart_contents)); + + // Woot! + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Cart Total + * + * @return int + */ + public function total() + { + return $this->_cart_contents['cart_total']; + } + + // -------------------------------------------------------------------- + + /** + * Remove Item + * + * Removes an item from the cart + * + * @param int + * @return bool + */ + public function remove($rowid) + { + // unset & save + unset($this->_cart_contents[$rowid]); + $this->_save_cart(); + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Total Items + * + * Returns the total item count + * + * @return int + */ + public function total_items() + { + return $this->_cart_contents['total_items']; + } + + // -------------------------------------------------------------------- + + /** + * Cart Contents + * + * Returns the entire cart array + * + * @param bool + * @return array + */ + public function contents($newest_first = FALSE) + { + // do we want the newest first? + $cart = ($newest_first) ? array_reverse($this->_cart_contents) : $this->_cart_contents; + + // Remove these so they don't create a problem when showing the cart table + unset($cart['total_items']); + unset($cart['cart_total']); + + return $cart; + } + + // -------------------------------------------------------------------- + + /** + * Get cart item + * + * Returns the details of a specific item in the cart + * + * @param string $row_id + * @return array + */ + public function get_item($row_id) + { + return (in_array($row_id, array('total_items', 'cart_total'), TRUE) OR ! isset($this->_cart_contents[$row_id])) + ? FALSE + : $this->_cart_contents[$row_id]; + } + + // -------------------------------------------------------------------- + + /** + * Has options + * + * Returns TRUE if the rowid passed to this function correlates to an item + * that has options associated with it. + * + * @param string $row_id = '' + * @return bool + */ + public function has_options($row_id = '') + { + return (isset($this->_cart_contents[$row_id]['options']) && count($this->_cart_contents[$row_id]['options']) !== 0); + } + + // -------------------------------------------------------------------- + + /** + * Product options + * + * Returns the an array of options, for a particular product row ID + * + * @param string $row_id = '' + * @return array + */ + public function product_options($row_id = '') + { + return isset($this->_cart_contents[$row_id]['options']) ? $this->_cart_contents[$row_id]['options'] : array(); + } + + // -------------------------------------------------------------------- + + /** + * Format Number + * + * Returns the supplied number with commas and a decimal point. + * + * @param float + * @return string + */ + public function format_number($n = '') + { + return ($n === '') ? '' : number_format( (float) $n, 2, '.', ','); + } + + // -------------------------------------------------------------------- + + /** + * Destroy the cart + * + * Empties the cart and kills the session + * + * @return void + */ + public function destroy() + { + $this->_cart_contents = array('cart_total' => 0, 'total_items' => 0); + $this->CI->session->unset_userdata('cart_contents'); + } + +} diff --git a/system/libraries/Driver.php b/system/libraries/Driver.php new file mode 100644 index 0000000..7dd66ec --- /dev/null +++ b/system/libraries/Driver.php @@ -0,0 +1,342 @@ +load_driver($child); + } + + /** + * Load driver + * + * Separate load_driver call to support explicit driver load by library or user + * + * @param string Driver name (w/o parent prefix) + * @return object Child class + */ + public function load_driver($child) + { + // Get CodeIgniter instance and subclass prefix + $prefix = config_item('subclass_prefix'); + + if ( ! isset($this->lib_name)) + { + // Get library name without any prefix + $this->lib_name = str_replace(array('CI_', $prefix), '', get_class($this)); + } + + // The child will be prefixed with the parent lib + $child_name = $this->lib_name.'_'.$child; + + // See if requested child is a valid driver + if ( ! in_array($child, $this->valid_drivers)) + { + // The requested driver isn't valid! + $msg = 'Invalid driver requested: '.$child_name; + log_message('error', $msg); + show_error($msg); + } + + // Get package paths and filename case variations to search + $CI = get_instance(); + $paths = $CI->load->get_package_paths(TRUE); + + // Is there an extension? + $class_name = $prefix.$child_name; + $found = class_exists($class_name, FALSE); + if ( ! $found) + { + // Check for subclass file + foreach ($paths as $path) + { + // Does the file exist? + $file = $path.'libraries/'.$this->lib_name.'/drivers/'.$prefix.$child_name.'.php'; + if (file_exists($file)) + { + // Yes - require base class from BASEPATH + $basepath = BASEPATH.'libraries/'.$this->lib_name.'/drivers/'.$child_name.'.php'; + if ( ! file_exists($basepath)) + { + $msg = 'Unable to load the requested class: CI_'.$child_name; + log_message('error', $msg); + show_error($msg); + } + + // Include both sources and mark found + include_once($basepath); + include_once($file); + $found = TRUE; + break; + } + } + } + + // Do we need to search for the class? + if ( ! $found) + { + // Use standard class name + $class_name = 'CI_'.$child_name; + if ( ! class_exists($class_name, FALSE)) + { + // Check package paths + foreach ($paths as $path) + { + // Does the file exist? + $file = $path.'libraries/'.$this->lib_name.'/drivers/'.$child_name.'.php'; + if (file_exists($file)) + { + // Include source + include_once($file); + break; + } + } + } + } + + // Did we finally find the class? + if ( ! class_exists($class_name, FALSE)) + { + if (class_exists($child_name, FALSE)) + { + $class_name = $child_name; + } + else + { + $msg = 'Unable to load the requested driver: '.$class_name; + log_message('error', $msg); + show_error($msg); + } + } + + // Instantiate, decorate and add child + $obj = new $class_name(); + $obj->decorate($this); + $this->$child = $obj; + return $this->$child; + } + +} + +// -------------------------------------------------------------------------- + +/** + * CodeIgniter Driver Class + * + * This class enables you to create drivers for a Library based on the Driver Library. + * It handles the drivers' access to the parent library + * + * @package CodeIgniter + * @subpackage Libraries + * @category Libraries + * @author EllisLab Dev Team + * @link + */ +class CI_Driver { + + /** + * Instance of the parent class + * + * @var object + */ + protected $_parent; + + /** + * List of methods in the parent class + * + * @var array + */ + protected $_methods = array(); + + /** + * List of properties in the parent class + * + * @var array + */ + protected $_properties = array(); + + /** + * Array of methods and properties for the parent class(es) + * + * @static + * @var array + */ + protected static $_reflections = array(); + + /** + * Decorate + * + * Decorates the child with the parent driver lib's methods and properties + * + * @param object + * @return void + */ + public function decorate($parent) + { + $this->_parent = $parent; + + // Lock down attributes to what is defined in the class + // and speed up references in magic methods + + $class_name = get_class($parent); + + if ( ! isset(self::$_reflections[$class_name])) + { + $r = new ReflectionObject($parent); + + foreach ($r->getMethods() as $method) + { + if ($method->isPublic()) + { + $this->_methods[] = $method->getName(); + } + } + + foreach ($r->getProperties() as $prop) + { + if ($prop->isPublic()) + { + $this->_properties[] = $prop->getName(); + } + } + + self::$_reflections[$class_name] = array($this->_methods, $this->_properties); + } + else + { + list($this->_methods, $this->_properties) = self::$_reflections[$class_name]; + } + } + + // -------------------------------------------------------------------- + + /** + * __call magic method + * + * Handles access to the parent driver library's methods + * + * @param string + * @param array + * @return mixed + */ + public function __call($method, $args = array()) + { + if (in_array($method, $this->_methods)) + { + return call_user_func_array(array($this->_parent, $method), $args); + } + + throw new BadMethodCallException('No such method: '.$method.'()'); + } + + // -------------------------------------------------------------------- + + /** + * __get magic method + * + * Handles reading of the parent driver library's properties + * + * @param string + * @return mixed + */ + public function __get($var) + { + if (in_array($var, $this->_properties)) + { + return $this->_parent->$var; + } + } + + // -------------------------------------------------------------------- + + /** + * __set magic method + * + * Handles writing to the parent driver library's properties + * + * @param string + * @param array + * @return mixed + */ + public function __set($var, $val) + { + if (in_array($var, $this->_properties)) + { + $this->_parent->$var = $val; + } + } + +} diff --git a/system/libraries/Email.php b/system/libraries/Email.php new file mode 100644 index 0000000..6a8bda7 --- /dev/null +++ b/system/libraries/Email.php @@ -0,0 +1,2470 @@ + '1 (Highest)', + 2 => '2 (High)', + 3 => '3 (Normal)', + 4 => '4 (Low)', + 5 => '5 (Lowest)' + ); + + /** + * mbstring.func_overload flag + * + * @var bool + */ + protected static $func_overload; + + // -------------------------------------------------------------------- + + /** + * Constructor - Sets Email Preferences + * + * The constructor can be passed an array of config values + * + * @param array $config = array() + * @return void + */ + public function __construct(array $config = array()) + { + $this->charset = config_item('charset'); + $this->initialize($config); + $this->_safe_mode = ( ! is_php('5.4') && ini_get('safe_mode')); + + isset(self::$func_overload) OR self::$func_overload = (extension_loaded('mbstring') && ini_get('mbstring.func_overload')); + + log_message('info', 'Email Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Initialize preferences + * + * @param array $config + * @return CI_Email + */ + public function initialize(array $config = array()) + { + $this->clear(); + + foreach ($config as $key => $val) + { + if (isset($this->$key)) + { + $method = 'set_'.$key; + + if (method_exists($this, $method)) + { + $this->$method($val); + } + else + { + $this->$key = $val; + } + } + } + + $this->charset = strtoupper($this->charset); + $this->_smtp_auth = isset($this->smtp_user[0], $this->smtp_pass[0]); + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Initialize the Email Data + * + * @param bool + * @return CI_Email + */ + public function clear($clear_attachments = FALSE) + { + $this->_subject = ''; + $this->_body = ''; + $this->_finalbody = ''; + $this->_header_str = ''; + $this->_replyto_flag = FALSE; + $this->_recipients = array(); + $this->_cc_array = array(); + $this->_bcc_array = array(); + $this->_headers = array(); + $this->_debug_msg = array(); + + $this->set_header('Date', $this->_set_date()); + + if ($clear_attachments !== FALSE) + { + $this->_attachments = array(); + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set FROM + * + * @param string $from + * @param string $name + * @param string $return_path = NULL Return-Path + * @return CI_Email + */ + public function from($from, $name = '', $return_path = NULL) + { + if (preg_match('/\<(.*)\>/', $from, $match)) + { + $from = $match[1]; + } + + if ($this->validate) + { + $this->validate_email($this->_str_to_array($from)); + if ($return_path) + { + $this->validate_email($this->_str_to_array($return_path)); + } + } + + // prepare the display name + if ($name !== '') + { + // only use Q encoding if there are characters that would require it + if ( ! preg_match('/[\200-\377]/', $name)) + { + // add slashes for non-printing characters, slashes, and double quotes, and surround it in double quotes + $name = '"'.addcslashes($name, "\0..\37\177'\"\\").'"'; + } + else + { + $name = $this->_prep_q_encoding($name); + } + } + + $this->set_header('From', $name.' <'.$from.'>'); + + isset($return_path) OR $return_path = $from; + $this->set_header('Return-Path', '<'.$return_path.'>'); + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Reply-to + * + * @param string + * @param string + * @return CI_Email + */ + public function reply_to($replyto, $name = '') + { + if (preg_match('/\<(.*)\>/', $replyto, $match)) + { + $replyto = $match[1]; + } + + if ($this->validate) + { + $this->validate_email($this->_str_to_array($replyto)); + } + + if ($name !== '') + { + // only use Q encoding if there are characters that would require it + if ( ! preg_match('/[\200-\377]/', $name)) + { + // add slashes for non-printing characters, slashes, and double quotes, and surround it in double quotes + $name = '"'.addcslashes($name, "\0..\37\177'\"\\").'"'; + } + else + { + $name = $this->_prep_q_encoding($name); + } + } + + $this->set_header('Reply-To', $name.' <'.$replyto.'>'); + $this->_replyto_flag = TRUE; + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Recipients + * + * @param string + * @return CI_Email + */ + public function to($to) + { + $to = $this->_str_to_array($to); + $to = $this->clean_email($to); + + if ($this->validate) + { + $this->validate_email($to); + } + + if ($this->_get_protocol() !== 'mail') + { + $this->set_header('To', implode(', ', $to)); + } + + $this->_recipients = $to; + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set CC + * + * @param string + * @return CI_Email + */ + public function cc($cc) + { + $cc = $this->clean_email($this->_str_to_array($cc)); + + if ($this->validate) + { + $this->validate_email($cc); + } + + $this->set_header('Cc', implode(', ', $cc)); + + if ($this->_get_protocol() === 'smtp') + { + $this->_cc_array = $cc; + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set BCC + * + * @param string + * @param string + * @return CI_Email + */ + public function bcc($bcc, $limit = '') + { + if ($limit !== '' && is_numeric($limit)) + { + $this->bcc_batch_mode = TRUE; + $this->bcc_batch_size = $limit; + } + + $bcc = $this->clean_email($this->_str_to_array($bcc)); + + if ($this->validate) + { + $this->validate_email($bcc); + } + + if ($this->_get_protocol() === 'smtp' OR ($this->bcc_batch_mode && count($bcc) > $this->bcc_batch_size)) + { + $this->_bcc_array = $bcc; + } + else + { + $this->set_header('Bcc', implode(', ', $bcc)); + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Email Subject + * + * @param string + * @return CI_Email + */ + public function subject($subject) + { + $subject = $this->_prep_q_encoding($subject); + $this->set_header('Subject', $subject); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Body + * + * @param string + * @return CI_Email + */ + public function message($body) + { + $this->_body = rtrim(str_replace("\r", '', $body)); + + /* strip slashes only if magic quotes is ON + if we do it with magic quotes OFF, it strips real, user-inputted chars. + + NOTE: In PHP 5.4 get_magic_quotes_gpc() will always return 0 and + it will probably not exist in future versions at all. + */ + if ( ! is_php('5.4') && get_magic_quotes_gpc()) + { + $this->_body = stripslashes($this->_body); + } + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Assign file attachments + * + * @param string $file Can be local path, URL or buffered content + * @param string $disposition = 'attachment' + * @param string $newname = NULL + * @param string $mime = '' + * @return CI_Email + */ + public function attach($file, $disposition = '', $newname = NULL, $mime = '') + { + if ($mime === '') + { + if (strpos($file, '://') === FALSE && ! file_exists($file)) + { + $this->_set_error_message('lang:email_attachment_missing', $file); + return FALSE; + } + + if ( ! $fp = @fopen($file, 'rb')) + { + $this->_set_error_message('lang:email_attachment_unreadable', $file); + return FALSE; + } + + $file_content = stream_get_contents($fp); + $mime = $this->_mime_types(pathinfo($file, PATHINFO_EXTENSION)); + fclose($fp); + } + else + { + $file_content =& $file; // buffered file + } + + $this->_attachments[] = array( + 'name' => array($file, $newname), + 'disposition' => empty($disposition) ? 'attachment' : $disposition, // Can also be 'inline' Not sure if it matters + 'type' => $mime, + 'content' => chunk_split(base64_encode($file_content)), + 'multipart' => 'mixed' + ); + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set and return attachment Content-ID + * + * Useful for attached inline pictures + * + * @param string $filename + * @return string + */ + public function attachment_cid($filename) + { + for ($i = 0, $c = count($this->_attachments); $i < $c; $i++) + { + if ($this->_attachments[$i]['name'][0] === $filename) + { + $this->_attachments[$i]['multipart'] = 'related'; + $this->_attachments[$i]['cid'] = uniqid(basename($this->_attachments[$i]['name'][0]).'@'); + return $this->_attachments[$i]['cid']; + } + } + + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Add a Header Item + * + * @param string + * @param string + * @return CI_Email + */ + public function set_header($header, $value) + { + $this->_headers[$header] = str_replace(array("\n", "\r"), '', $value); + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Convert a String to an Array + * + * @param string + * @return array + */ + protected function _str_to_array($email) + { + if ( ! is_array($email)) + { + return (strpos($email, ',') !== FALSE) + ? preg_split('/[\s,]/', $email, -1, PREG_SPLIT_NO_EMPTY) + : (array) trim($email); + } + + return $email; + } + + // -------------------------------------------------------------------- + + /** + * Set Multipart Value + * + * @param string + * @return CI_Email + */ + public function set_alt_message($str) + { + $this->alt_message = (string) $str; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Mailtype + * + * @param string + * @return CI_Email + */ + public function set_mailtype($type = 'text') + { + $this->mailtype = ($type === 'html') ? 'html' : 'text'; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Wordwrap + * + * @param bool + * @return CI_Email + */ + public function set_wordwrap($wordwrap = TRUE) + { + $this->wordwrap = (bool) $wordwrap; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Protocol + * + * @param string + * @return CI_Email + */ + public function set_protocol($protocol = 'mail') + { + $this->protocol = in_array($protocol, $this->_protocols, TRUE) ? strtolower($protocol) : 'mail'; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Priority + * + * @param int + * @return CI_Email + */ + public function set_priority($n = 3) + { + $this->priority = preg_match('/^[1-5]$/', $n) ? (int) $n : 3; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set Newline Character + * + * @param string + * @return CI_Email + */ + public function set_newline($newline = "\n") + { + $this->newline = in_array($newline, array("\n", "\r\n", "\r")) ? $newline : "\n"; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Set CRLF + * + * @param string + * @return CI_Email + */ + public function set_crlf($crlf = "\n") + { + $this->crlf = ($crlf !== "\n" && $crlf !== "\r\n" && $crlf !== "\r") ? "\n" : $crlf; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Get the Message ID + * + * @return string + */ + protected function _get_message_id() + { + $from = str_replace(array('>', '<'), '', $this->_headers['Return-Path']); + return '<'.uniqid('').strstr($from, '@').'>'; + } + + // -------------------------------------------------------------------- + + /** + * Get Mail Protocol + * + * @return mixed + */ + protected function _get_protocol() + { + $this->protocol = strtolower($this->protocol); + in_array($this->protocol, $this->_protocols, TRUE) OR $this->protocol = 'mail'; + return $this->protocol; + } + + // -------------------------------------------------------------------- + + /** + * Get Mail Encoding + * + * @return string + */ + protected function _get_encoding() + { + in_array($this->_encoding, $this->_bit_depths) OR $this->_encoding = '8bit'; + + foreach ($this->_base_charsets as $charset) + { + if (strpos($this->charset, $charset) === 0) + { + $this->_encoding = '7bit'; + } + } + + return $this->_encoding; + } + + // -------------------------------------------------------------------- + + /** + * Get content type (text/html/attachment) + * + * @return string + */ + protected function _get_content_type() + { + if ($this->mailtype === 'html') + { + return empty($this->_attachments) ? 'html' : 'html-attach'; + } + elseif ($this->mailtype === 'text' && ! empty($this->_attachments)) + { + return 'plain-attach'; + } + + return 'plain'; + } + + // -------------------------------------------------------------------- + + /** + * Set RFC 822 Date + * + * @return string + */ + protected function _set_date() + { + $timezone = date('Z'); + $operator = ($timezone[0] === '-') ? '-' : '+'; + $timezone = abs($timezone); + $timezone = floor($timezone/3600) * 100 + ($timezone % 3600) / 60; + + return sprintf('%s %s%04d', date('D, j M Y H:i:s'), $operator, $timezone); + } + + // -------------------------------------------------------------------- + + /** + * Mime message + * + * @return string + */ + protected function _get_mime_message() + { + return 'This is a multi-part message in MIME format.'.$this->newline.'Your email application may not support this format.'; + } + + // -------------------------------------------------------------------- + + /** + * Validate Email Address + * + * @param string + * @return bool + */ + public function validate_email($email) + { + if ( ! is_array($email)) + { + $this->_set_error_message('lang:email_must_be_array'); + return FALSE; + } + + foreach ($email as $val) + { + if ( ! $this->valid_email($val)) + { + $this->_set_error_message('lang:email_invalid_address', $val); + return FALSE; + } + } + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Email Validation + * + * @param string + * @return bool + */ + public function valid_email($email) + { + if (function_exists('idn_to_ascii') && strpos($email, '@')) + { + list($account, $domain) = explode('@', $email, 2); + $domain = is_php('5.4') + ? idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46) + : idn_to_ascii($domain); + $email = $account.'@'.$domain; + } + + return (bool) filter_var($email, FILTER_VALIDATE_EMAIL); + } + + // -------------------------------------------------------------------- + + /** + * Clean Extended Email Address: Joe Smith + * + * @param string + * @return string + */ + public function clean_email($email) + { + if ( ! is_array($email)) + { + return preg_match('/\<(.*)\>/', $email, $match) ? $match[1] : $email; + } + + $clean_email = array(); + + foreach ($email as $addy) + { + $clean_email[] = preg_match('/\<(.*)\>/', $addy, $match) ? $match[1] : $addy; + } + + return $clean_email; + } + + // -------------------------------------------------------------------- + + /** + * Build alternative plain text message + * + * Provides the raw message for use in plain-text headers of + * HTML-formatted emails. + * If the user hasn't specified his own alternative message + * it creates one by stripping the HTML + * + * @return string + */ + protected function _get_alt_message() + { + if ( ! empty($this->alt_message)) + { + return ($this->wordwrap) + ? $this->word_wrap($this->alt_message, 76) + : $this->alt_message; + } + + $body = preg_match('/\(.*)\<\/body\>/si', $this->_body, $match) ? $match[1] : $this->_body; + $body = str_replace("\t", '', preg_replace('#\n"; + } + + return $r; + } + + // -------------------------------------------------------------------- + + /** + * Executes the Method + * + * @param object + * @return mixed + */ + protected function _execute($m) + { + $methName = $m->method_name; + + // Check to see if it is a system call + $system_call = (strpos($methName, 'system') === 0); + + if ($this->xss_clean === FALSE) + { + $m->xss_clean = FALSE; + } + + //------------------------------------- + // Valid Method + //------------------------------------- + + if ( ! isset($this->methods[$methName]['function'])) + { + return new XML_RPC_Response(0, $this->xmlrpcerr['unknown_method'], $this->xmlrpcstr['unknown_method']); + } + + //------------------------------------- + // Check for Method (and Object) + //------------------------------------- + + $method_parts = explode('.', $this->methods[$methName]['function']); + $objectCall = ! empty($method_parts[1]); + + if ($system_call === TRUE) + { + if ( ! is_callable(array($this, $method_parts[1]))) + { + return new XML_RPC_Response(0, $this->xmlrpcerr['unknown_method'], $this->xmlrpcstr['unknown_method']); + } + } + elseif (($objectCall && ! is_callable(array($method_parts[0], $method_parts[1]))) + OR ( ! $objectCall && ! is_callable($this->methods[$methName]['function'])) + ) + { + return new XML_RPC_Response(0, $this->xmlrpcerr['unknown_method'], $this->xmlrpcstr['unknown_method']); + } + + //------------------------------------- + // Checking Methods Signature + //------------------------------------- + + if (isset($this->methods[$methName]['signature'])) + { + $sig = $this->methods[$methName]['signature']; + for ($i = 0, $c = count($sig); $i < $c; $i++) + { + $current_sig = $sig[$i]; + + if (count($current_sig) === count($m->params)+1) + { + for ($n = 0, $mc = count($m->params); $n < $mc; $n++) + { + $p = $m->params[$n]; + $pt = ($p->kindOf() === 'scalar') ? $p->scalarval() : $p->kindOf(); + + if ($pt !== $current_sig[$n+1]) + { + $pno = $n+1; + $wanted = $current_sig[$n+1]; + + return new XML_RPC_Response(0, + $this->xmlrpcerr['incorrect_params'], + $this->xmlrpcstr['incorrect_params'] . + ': Wanted '.$wanted.', got '.$pt.' at param '.$pno.')'); + } + } + } + } + } + + //------------------------------------- + // Calls the Function + //------------------------------------- + + if ($objectCall === TRUE) + { + if ($method_parts[0] === 'this' && $system_call === TRUE) + { + return call_user_func(array($this, $method_parts[1]), $m); + } + elseif ($this->object === FALSE) + { + return get_instance()->{$method_parts[1]}($m); + } + + return $this->object->{$method_parts[1]}($m); + } + + return call_user_func($this->methods[$methName]['function'], $m); + } + + // -------------------------------------------------------------------- + + /** + * Server Function: List Methods + * + * @param mixed + * @return object + */ + public function listMethods($m) + { + $v = new XML_RPC_Values(); + $output = array(); + + foreach ($this->methods as $key => $value) + { + $output[] = new XML_RPC_Values($key, 'string'); + } + + foreach ($this->system_methods as $key => $value) + { + $output[] = new XML_RPC_Values($key, 'string'); + } + + $v->addArray($output); + return new XML_RPC_Response($v); + } + + // -------------------------------------------------------------------- + + /** + * Server Function: Return Signature for Method + * + * @param mixed + * @return object + */ + public function methodSignature($m) + { + $parameters = $m->output_parameters(); + $method_name = $parameters[0]; + + if (isset($this->methods[$method_name])) + { + if ($this->methods[$method_name]['signature']) + { + $sigs = array(); + $signature = $this->methods[$method_name]['signature']; + + for ($i = 0, $c = count($signature); $i < $c; $i++) + { + $cursig = array(); + $inSig = $signature[$i]; + for ($j = 0, $jc = count($inSig); $j < $jc; $j++) + { + $cursig[]= new XML_RPC_Values($inSig[$j], 'string'); + } + $sigs[] = new XML_RPC_Values($cursig, 'array'); + } + + return new XML_RPC_Response(new XML_RPC_Values($sigs, 'array')); + } + + return new XML_RPC_Response(new XML_RPC_Values('undef', 'string')); + } + + return new XML_RPC_Response(0, $this->xmlrpcerr['introspect_unknown'], $this->xmlrpcstr['introspect_unknown']); + } + + // -------------------------------------------------------------------- + + /** + * Server Function: Doc String for Method + * + * @param mixed + * @return object + */ + public function methodHelp($m) + { + $parameters = $m->output_parameters(); + $method_name = $parameters[0]; + + if (isset($this->methods[$method_name])) + { + $docstring = isset($this->methods[$method_name]['docstring']) ? $this->methods[$method_name]['docstring'] : ''; + + return new XML_RPC_Response(new XML_RPC_Values($docstring, 'string')); + } + + return new XML_RPC_Response(0, $this->xmlrpcerr['introspect_unknown'], $this->xmlrpcstr['introspect_unknown']); + } + + // -------------------------------------------------------------------- + + /** + * Server Function: Multi-call + * + * @param mixed + * @return object + */ + public function multicall($m) + { + // Disabled + return new XML_RPC_Response(0, $this->xmlrpcerr['unknown_method'], $this->xmlrpcstr['unknown_method']); + + $parameters = $m->output_parameters(); + $calls = $parameters[0]; + + $result = array(); + + foreach ($calls as $value) + { + $m = new XML_RPC_Message($value[0]); + $plist = ''; + + for ($i = 0, $c = count($value[1]); $i < $c; $i++) + { + $m->addParam(new XML_RPC_Values($value[1][$i], 'string')); + } + + $attempt = $this->_execute($m); + + if ($attempt->faultCode() !== 0) + { + return $attempt; + } + + $result[] = new XML_RPC_Values(array($attempt->value()), 'array'); + } + + return new XML_RPC_Response(new XML_RPC_Values($result, 'array')); + } + + // -------------------------------------------------------------------- + + /** + * Multi-call Function: Error Handling + * + * @param mixed + * @return object + */ + public function multicall_error($err) + { + $str = is_string($err) ? $this->xmlrpcstr["multicall_${err}"] : $err->faultString(); + $code = is_string($err) ? $this->xmlrpcerr["multicall_${err}"] : $err->faultCode(); + + $struct['faultCode'] = new XML_RPC_Values($code, 'int'); + $struct['faultString'] = new XML_RPC_Values($str, 'string'); + + return new XML_RPC_Values($struct, 'struct'); + } + + // -------------------------------------------------------------------- + + /** + * Multi-call Function: Processes method + * + * @param mixed + * @return object + */ + public function do_multicall($call) + { + if ($call->kindOf() !== 'struct') + { + return $this->multicall_error('notstruct'); + } + elseif ( ! $methName = $call->me['struct']['methodName']) + { + return $this->multicall_error('nomethod'); + } + + list($scalar_value, $scalar_type) = array(reset($methName->me), key($methName->me)); + $scalar_type = $scalar_type === $this->xmlrpcI4 ? $this->xmlrpcInt : $scalar_type; + + if ($methName->kindOf() !== 'scalar' OR $scalar_type !== 'string') + { + return $this->multicall_error('notstring'); + } + elseif ($scalar_value === 'system.multicall') + { + return $this->multicall_error('recursion'); + } + elseif ( ! $params = $call->me['struct']['params']) + { + return $this->multicall_error('noparams'); + } + elseif ($params->kindOf() !== 'array') + { + return $this->multicall_error('notarray'); + } + + list($b, $a) = array(reset($params->me), key($params->me)); + + $msg = new XML_RPC_Message($scalar_value); + for ($i = 0, $numParams = count($b); $i < $numParams; $i++) + { + $msg->params[] = $params->me['array'][$i]; + } + + $result = $this->_execute($msg); + + if ($result->faultCode() !== 0) + { + return $this->multicall_error($result); + } + + return new XML_RPC_Values(array($result->value()), 'array'); + } + +} diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php new file mode 100644 index 0000000..f8f95fe --- /dev/null +++ b/system/libraries/Zip.php @@ -0,0 +1,532 @@ +now = time(); + log_message('info', 'Zip Compression Class Initialized'); + } + + // -------------------------------------------------------------------- + + /** + * Add Directory + * + * Lets you add a virtual directory into which you can place files. + * + * @param mixed $directory the directory name. Can be string or array + * @return void + */ + public function add_dir($directory) + { + foreach ((array) $directory as $dir) + { + if ( ! preg_match('|.+/$|', $dir)) + { + $dir .= '/'; + } + + $dir_time = $this->_get_mod_time($dir); + $this->_add_dir($dir, $dir_time['file_mtime'], $dir_time['file_mdate']); + } + } + + // -------------------------------------------------------------------- + + /** + * Get file/directory modification time + * + * If this is a newly created file/dir, we will set the time to 'now' + * + * @param string $dir path to file + * @return array filemtime/filemdate + */ + protected function _get_mod_time($dir) + { + // filemtime() may return false, but raises an error for non-existing files + $date = file_exists($dir) ? getdate(filemtime($dir)) : getdate($this->now); + + return array( + 'file_mtime' => ($date['hours'] << 11) + ($date['minutes'] << 5) + $date['seconds'] / 2, + 'file_mdate' => (($date['year'] - 1980) << 9) + ($date['mon'] << 5) + $date['mday'] + ); + } + + // -------------------------------------------------------------------- + + /** + * Add Directory + * + * @param string $dir the directory name + * @param int $file_mtime + * @param int $file_mdate + * @return void + */ + protected function _add_dir($dir, $file_mtime, $file_mdate) + { + $dir = str_replace('\\', '/', $dir); + + $this->zipdata .= + "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00" + .pack('v', $file_mtime) + .pack('v', $file_mdate) + .pack('V', 0) // crc32 + .pack('V', 0) // compressed filesize + .pack('V', 0) // uncompressed filesize + .pack('v', self::strlen($dir)) // length of pathname + .pack('v', 0) // extra field length + .$dir + // below is "data descriptor" segment + .pack('V', 0) // crc32 + .pack('V', 0) // compressed filesize + .pack('V', 0); // uncompressed filesize + + $this->directory .= + "\x50\x4b\x01\x02\x00\x00\x0a\x00\x00\x00\x00\x00" + .pack('v', $file_mtime) + .pack('v', $file_mdate) + .pack('V',0) // crc32 + .pack('V',0) // compressed filesize + .pack('V',0) // uncompressed filesize + .pack('v', self::strlen($dir)) // length of pathname + .pack('v', 0) // extra field length + .pack('v', 0) // file comment length + .pack('v', 0) // disk number start + .pack('v', 0) // internal file attributes + .pack('V', 16) // external file attributes - 'directory' bit set + .pack('V', $this->offset) // relative offset of local header + .$dir; + + $this->offset = self::strlen($this->zipdata); + $this->entries++; + } + + // -------------------------------------------------------------------- + + /** + * Add Data to Zip + * + * Lets you add files to the archive. If the path is included + * in the filename it will be placed within a directory. Make + * sure you use add_dir() first to create the folder. + * + * @param mixed $filepath A single filepath or an array of file => data pairs + * @param string $data Single file contents + * @return void + */ + public function add_data($filepath, $data = NULL) + { + if (is_array($filepath)) + { + foreach ($filepath as $path => $data) + { + $file_data = $this->_get_mod_time($path); + $this->_add_data($path, $data, $file_data['file_mtime'], $file_data['file_mdate']); + } + } + else + { + $file_data = $this->_get_mod_time($filepath); + $this->_add_data($filepath, $data, $file_data['file_mtime'], $file_data['file_mdate']); + } + } + + // -------------------------------------------------------------------- + + /** + * Add Data to Zip + * + * @param string $filepath the file name/path + * @param string $data the data to be encoded + * @param int $file_mtime + * @param int $file_mdate + * @return void + */ + protected function _add_data($filepath, $data, $file_mtime, $file_mdate) + { + $filepath = str_replace('\\', '/', $filepath); + + $uncompressed_size = self::strlen($data); + $crc32 = crc32($data); + $gzdata = self::substr(gzcompress($data, $this->compression_level), 2, -4); + $compressed_size = self::strlen($gzdata); + + $this->zipdata .= + "\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00" + .pack('v', $file_mtime) + .pack('v', $file_mdate) + .pack('V', $crc32) + .pack('V', $compressed_size) + .pack('V', $uncompressed_size) + .pack('v', self::strlen($filepath)) // length of filename + .pack('v', 0) // extra field length + .$filepath + .$gzdata; // "file data" segment + + $this->directory .= + "\x50\x4b\x01\x02\x00\x00\x14\x00\x00\x00\x08\x00" + .pack('v', $file_mtime) + .pack('v', $file_mdate) + .pack('V', $crc32) + .pack('V', $compressed_size) + .pack('V', $uncompressed_size) + .pack('v', self::strlen($filepath)) // length of filename + .pack('v', 0) // extra field length + .pack('v', 0) // file comment length + .pack('v', 0) // disk number start + .pack('v', 0) // internal file attributes + .pack('V', 32) // external file attributes - 'archive' bit set + .pack('V', $this->offset) // relative offset of local header + .$filepath; + + $this->offset = self::strlen($this->zipdata); + $this->entries++; + $this->file_num++; + } + + // -------------------------------------------------------------------- + + /** + * Read the contents of a file and add it to the zip + * + * @param string $path + * @param bool $archive_filepath + * @return bool + */ + public function read_file($path, $archive_filepath = FALSE) + { + if (file_exists($path) && FALSE !== ($data = file_get_contents($path))) + { + if (is_string($archive_filepath)) + { + $name = str_replace('\\', '/', $archive_filepath); + } + else + { + $name = str_replace('\\', '/', $path); + + if ($archive_filepath === FALSE) + { + $name = preg_replace('|.*/(.+)|', '\\1', $name); + } + } + + $this->add_data($name, $data); + return TRUE; + } + + return FALSE; + } + + // ------------------------------------------------------------------------ + + /** + * Read a directory and add it to the zip. + * + * This function recursively reads a folder and everything it contains (including + * sub-folders) and creates a zip based on it. Whatever directory structure + * is in the original file path will be recreated in the zip file. + * + * @param string $path path to source directory + * @param bool $preserve_filepath + * @param string $root_path + * @return bool + */ + public function read_dir($path, $preserve_filepath = TRUE, $root_path = NULL) + { + $path = rtrim($path, '/\\').DIRECTORY_SEPARATOR; + if ( ! $fp = @opendir($path)) + { + return FALSE; + } + + // Set the original directory root for child dir's to use as relative + if ($root_path === NULL) + { + $root_path = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, dirname($path)).DIRECTORY_SEPARATOR; + } + + while (FALSE !== ($file = readdir($fp))) + { + if ($file[0] === '.') + { + continue; + } + + if (is_dir($path.$file)) + { + $this->read_dir($path.$file.DIRECTORY_SEPARATOR, $preserve_filepath, $root_path); + } + elseif (FALSE !== ($data = file_get_contents($path.$file))) + { + $name = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $path); + if ($preserve_filepath === FALSE) + { + $name = str_replace($root_path, '', $name); + } + + $this->add_data($name.$file, $data); + } + } + + closedir($fp); + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * Get the Zip file + * + * @return string (binary encoded) + */ + public function get_zip() + { + // Is there any data to return? + if ($this->entries === 0) + { + return FALSE; + } + + return $this->zipdata + .$this->directory."\x50\x4b\x05\x06\x00\x00\x00\x00" + .pack('v', $this->entries) // total # of entries "on this disk" + .pack('v', $this->entries) // total # of entries overall + .pack('V', self::strlen($this->directory)) // size of central dir + .pack('V', self::strlen($this->zipdata)) // offset to start of central dir + ."\x00\x00"; // .zip file comment length + } + + // -------------------------------------------------------------------- + + /** + * Write File to the specified directory + * + * Lets you write a file + * + * @param string $filepath the file name + * @return bool + */ + public function archive($filepath) + { + if ( ! ($fp = @fopen($filepath, 'w+b'))) + { + return FALSE; + } + + flock($fp, LOCK_EX); + + for ($result = $written = 0, $data = $this->get_zip(), $length = self::strlen($data); $written < $length; $written += $result) + { + if (($result = fwrite($fp, self::substr($data, $written))) === FALSE) + { + break; + } + } + + flock($fp, LOCK_UN); + fclose($fp); + + return is_int($result); + } + + // -------------------------------------------------------------------- + + /** + * Download + * + * @param string $filename the file name + * @return void + */ + public function download($filename = 'backup.zip') + { + if ( ! preg_match('|.+?\.zip$|', $filename)) + { + $filename .= '.zip'; + } + + get_instance()->load->helper('download'); + $get_zip = $this->get_zip(); + $zip_content =& $get_zip; + + force_download($filename, $zip_content); + } + + // -------------------------------------------------------------------- + + /** + * Initialize Data + * + * Lets you clear current zip data. Useful if you need to create + * multiple zips with different data. + * + * @return CI_Zip + */ + public function clear_data() + { + $this->zipdata = ''; + $this->directory = ''; + $this->entries = 0; + $this->file_num = 0; + $this->offset = 0; + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Byte-safe strlen() + * + * @param string $str + * @return int + */ + protected static function strlen($str) + { + return (self::$func_overload) + ? mb_strlen($str, '8bit') + : strlen($str); + } + + // -------------------------------------------------------------------- + + /** + * Byte-safe substr() + * + * @param string $str + * @param int $start + * @param int $length + * @return string + */ + protected static function substr($str, $start, $length = NULL) + { + if (self::$func_overload) + { + // mb_substr($str, $start, null, '8bit') returns an empty + // string on PHP 5.3 + isset($length) OR $length = ($start >= 0 ? self::strlen($str) - $start : -$start); + return mb_substr($str, $start, $length, '8bit'); + } + + return isset($length) + ? substr($str, $start, $length) + : substr($str, $start); + } +} diff --git a/system/libraries/index.html b/system/libraries/index.html new file mode 100644 index 0000000..b702fbc --- /dev/null +++ b/system/libraries/index.html @@ -0,0 +1,11 @@ + + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + +

    DMP1cplQT97ERJ#qc$^=#$tP3ux47STE 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�sCs0QHa37c`G{e{xE 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 literal 0 HcmV?d00001 diff --git a/assets/img/plant.png b/assets/img/plant.png new file mode 100644 index 0000000000000000000000000000000000000000..8c6a3e82042ca2881a2687663614a08dcec0a8a6 GIT binary patch literal 71806 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%0A7lm1J@bke3t-|SRFP`hZ?7p_HzsG{H^S=RD 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 DAY^E# literal 0 HcmV?d00001 diff --git a/assets/img/subscribe-bg.jpg b/assets/img/subscribe-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dffe3114a851bd5957ccd5042f88993f2b454114 GIT binary patch literal 128723 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